HTTP协议简介
2017-08-07 08:21
239 查看
http协议算是自己相对来说比较熟悉的一个协议,结合之前的理解重新整理下。
一.简介
超文本传输协议(HTTP, HyperText Transfer
Protocol)是从WWW服务器上传输超文本到本地浏览器的传送协议,该协议是应用层协议,采用C/S架构。协议的原理如下:
即客户端向服务器发起http请求,服务器接收到该请求以后响应请求并返回相应的相应内容。
二.请求包
请求消息由一个起始行,一个或者多个头域,一个指示头域结束的空行和可选的消息体组成。
可以通过浏览器自带的开发者工具或者专业抓包工具(例如wireshark,fiddler等)查看http协议的客户端和服务端通信过程,以及http包的具体内容。
此处采用google浏览器的开发者工具截取其中一个http包,可以看到请求头具体内容如下:
首先是一个请求行,格式为:
请求方式 地址 协议/版本
然后是多个请求头,每个请求头为一行,格式为:
请求头名称:值
其中常见的请求头有:
Cache-Control
Host
Referer
User-Agent
…
三.响应包
响应消息格式同请求消息,以下为一个具体的响应头的截图:
同样首先是响应行,格式为
协议/版本 响应状态码 响应结果
其中常见响应状态码包含以下几类:
1.1XX
2.2XX:响应成功
3.3XX:重定向
304:服务器端的文档没有更新,可以使用本地的缓存文档。
4.4XX:请求错误
5.5XX:服务器错误
接下来是头域及其值,常见响应头包含:
Connection
Content-Encoding
…
一.简介
超文本传输协议(HTTP, HyperText Transfer
Protocol)是从WWW服务器上传输超文本到本地浏览器的传送协议,该协议是应用层协议,采用C/S架构。协议的原理如下:
即客户端向服务器发起http请求,服务器接收到该请求以后响应请求并返回相应的相应内容。
二.请求包
请求消息由一个起始行,一个或者多个头域,一个指示头域结束的空行和可选的消息体组成。
可以通过浏览器自带的开发者工具或者专业抓包工具(例如wireshark,fiddler等)查看http协议的客户端和服务端通信过程,以及http包的具体内容。
此处采用google浏览器的开发者工具截取其中一个http包,可以看到请求头具体内容如下:
首先是一个请求行,格式为:
请求方式 地址 协议/版本
然后是多个请求头,每个请求头为一行,格式为:
请求头名称:值
其中常见的请求头有:
Cache-Control
Host
Referer
User-Agent
…
三.响应包
响应消息格式同请求消息,以下为一个具体的响应头的截图:
同样首先是响应行,格式为
协议/版本 响应状态码 响应结果
其中常见响应状态码包含以下几类:
1.1XX
2.2XX:响应成功
3.3XX:重定向
304:服务器端的文档没有更新,可以使用本地的缓存文档。
4.4XX:请求错误
5.5XX:服务器错误
接下来是头域及其值,常见响应头包含:
Connection
Content-Encoding
…