测试我爱编程

HTTP请求和响应

2018-04-09  本文已影响77人  Mo_dao

1.HTTP工作原理

HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。
Web服务器根据接收到的请求后,向客户端发送响应信息。
HTTP默认端口号为80,但是你也可以改为其他端口。
HTTP三点注意事项:
HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

2.HTTP请求的格式

HTTP一般有四部分组成,请求行、请求头部、空行、请求数据(其中请求数据部分可以为空),请求格式如下:

第一部分  动词 路径 协议/版本
第二部分   Key1: value1
第二部分   Key2: value2
第二部分   Key3: value3
第二部分   Content-Type: text/html
第二部分   Host: www.baidu.com
第二部分   User-Agent: curl/7.54.0
第三部分 
第四部分   要上传的数据

其中,第一部分为请求行。请求行中,动词可选的有GET、 POST、 PUT PATCH 、DELETE、 HEAD 、OPTIONS 等。路径如果你没有写,默认路径为 /。协议/版本,比如HTTP/1.1。
第二部分,请求头部,由一系列key:value值组成。如上所示的Context-Type:text/html,表示内容为text文件或者HTML文件。
第三部分,是一个回车(空行),将第二部分和第四部分分割。
第四部分,就是要上传的数据。

3.HTTP响应的格式

HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。

第一部风   协议/版本号 状态码 状态解释
第二部分   Key1: value1
第二部分   Key2: value2
第二部分   Content-Length: 17931
第二部分   Content-Type: text/html
第三部分
第四部分   要下载的内容

其中,第一部分为状态,表示协议/版本号(如HTTP/1.1),状态码及状态信息构成。
第二部分,状态消息,由一系列key:value值组成。如上所示的Context-Type:text/html,表示内容为text文件或者html文件。
第三部分,是一个回车(空行),将第二部分和第四部分分割。
第四部分,就是要下载的数据。

4.HTTP状态码

5.用chrom查看请求和响应

图2

6.curl命令

上一篇 下一篇

猜你喜欢

热点阅读