http协议简称超文本传输协议,是定义请求信息和响应信息在网上传输的格式。http是属于应用层的协议,也是广泛使用的传输协议的一种,像ftp也是一种传输协议,是针对文件的一种传输协议。
这里讲http格式的时候来说一下http请求成功一次完整的流程。首先在浏览器里输入http://car.chexiang.com/list/0-1-0-0-0-0-0-0-0-0-0-0-0-0-1-1.html这个是我们请求的路径。其中http://是定义传输传输的协议是http协议,car.chexiang.com是域名,还有一个80默认端口,list/0-1-0-0-0-0-0-0-0-0-0-0-0-0-1-1.html是资源服务器上的某个请求资源。浏览器首先把write.blog.csdn.net域名通过dns解析成域名绑定的ip。然后把请求信息根据http1.1协议解析成报文形式,经过tcp的三次握手,然后分割成多个数据包在网络上进行传输,经过多个代理网关最后达到目标服务器通过tcp协议把数据包整合,服务器响应返回相关资源,通过http协议将响应信息格式化为报文到达客户端,浏览器再解析信息展现在用户面前。
http请求有很多种请求方式,其中用的最多的是get,post。get请求表示是从服务器的里面获得相关资源,post是提交相关信息。
请求报文格式
接下来来分析请求报文的格式,这里我以在百度输入车享网为例。在chrome控制台看报文信息
请求行
RequestURL:https://www.baidu.com/swd=%E8%BD%A6%E4%BA%AB%E7%BD%91&ie=utf-8&tn=96772697_hao_pg
Request Method:GET
Status Code:200 OK
请求头
Remote Address:115.239.211.112:443
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:zh-CN,zh;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Cookie:PSTM=1478929241; BAIDUID=D82BC798DA024C384F159AC2607586F5:FG=1; BIDUPSID=D0B67D1E2EB2322F91A62301C65DCE39; pgv_pvi=1047422976; pgv_si=s4433284096; BD_HOME=0; ISSW=1; BDRCVFR[ZoGkiatObgn]=mk3SLVN4HKm; BD_CK_SAM=1; PSINO=5; H_PS_PSSID=1439_17945_21085_21454_21395_21378_21526_21192_21398; BD_UPN=12314753; H_PS_645EC=1948p47ET%2FZwqiCm2Z5N%2FFym%2FBKkjxGyqjaceqskGZkXF8ZNtcfk0fN4s4W%2FVhmT73cFEg9W
Host:www.baidu.com
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36
请求主体
wd:车享网
ie:utf-8
tn:96772697_hao_pg
响应主体
BDPAGETYPE:3
BDQID:0xfbb2750b000ad2f8
BDUSERID:0
Cache-Control:private
CKPACKNUM:2
CKRNDSTR:b000ad2f8
Connection:keep-alive
Content-Length:382770
Content-Type:text/html;charset=utf-8
Date:Sun, 13 Nov 2016 14:34:33 GMT
P3P:CP=" OTI DSP COR IVA OUR IND COM "
Server:bfe/1.0.8.18
Set-Cookie:BDRCVFR[ZoGkiatObgn]=mk3SLVN4HKm; path=/; domain=.baidu.com
Set-Cookie:__bsi=16203788057619351661_00_0_I_R_13_0303_C02F_N_I_I_0; expires=Sun, 13-Nov-16 14:34:38 GMT; domain=www.baidu.com; path=/
Set-Cookie:H_PS_PSSID=1439_17945_21085_21454_21395_21378_21526_21192_21398; path=/; domain=.baidu.com
Set-Cookie:BDSVRTM=9; path=/
Set-Cookie:PSINO=5; domain=.baidu.com; path=/
Set-Cookie:BD_CK_SAM=1;path=/
Strict-Transport-Security:max-age=604800
Vary:Accept-Encoding
X-Powered-By:HPHP
X-UA-Compatible:IE=Edge,chrome=1
Request Headers
view source