flask学习笔记(一):回顾HTTP通信

2019-08-26  本文已影响0人  warmsirius

参考博客

一、HTTP请求报文

1. 起始行

2. 请求头 headers

2.1. 由3部分组成:

它们用空格分隔。例如,GET /index.html HTTP/1.1。

2.2 HTTP协议的请求方法:

2.3 请求头部

请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息,典型的请求头有:

请求头 说明
HOST 接受请求的服务器地址,可以是IP:端口号,也可以是域名
User-Agent 发送请求的应用程序名称
Connection 指定与连接相关的属性,如Connection:Keep-Alive
Accept-Charset 通知服务端可以发送的编码格式
Accept-Encoding 通知服务端可以发送的数据压缩格式
Accept-Language 通知服务端可以发送的语言

3. 空行

最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头。

4. 请求体 body

请求数据不在GET方法中使用,而是在POST方法中使用。POST方法适用于需要客户填写表单的场合。

与请求数据相关的最常使用的请求头是 Content-TypeContent-Length

<request-line>   

<headers>

<blank line>

[<request-body>

二、HTTP响应报文

1. 由3部分组成

2. 状态行

状态行格式如下:

HTTP-Version Status-Code Reason-Phrase CRLF

状态代码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。

  • 1xx:指示信息--表示请求已接收,继续处理。
  • 2xx:成功--表示请求已被成功接收、理解、接受。
  • 3xx:重定向--要完成请求必须进行更进一步的操作。
  • 4xx:客户端错误--请求有语法错误或请求无法实现。
  • 5xx:服务器端错误--服务器未能实现合法的请求。

3. 响应头部

与请求头部类似,为响应报文添加了一些附加信息

常见响应头部如下:

响应头 说明
Server 服务器应用程序软件的名称和版本
Content-Type 响应正文的类型(是图片还是二进制字符串)
Content-Length 响应正文长度
Content-Charset 响应正文使用的编码
Content-Encoding 响应正文使用的数据压缩格式
Content-Language 响应正文使用的语言

4. HTTP响应报文例子

HTTP/1.1 200 OK
Date: Sat, 31 Dec 2005 23:59:59 GMT
Content-Type: text/html;charset=ISO-8859-1
Content-Length: 122

<html>
<head>
<title>Wrox Homepage</title>
</head>
<body>
<!-- body goes here -->
</body>
</html>

三、web框架

1. web框架主要功能

2. Django服务器

  1. Django通过服务器uwsgi接收请求、数据、解析,然后交给框架,
  2. 框架WSGI将请求数据交给Django框架,
  3. Django框架根据解析的数据,进行路由分发,找视图函数

3. 哪些可以当做前端?

上一篇 下一篇

猜你喜欢

热点阅读