首页 > 代码库 > HTTP报文解析
HTTP报文解析
//我是一个Post请求,我告诉服务器:我要http://localhost:1538/WebForm1.aspx页面,我支持的httpb版本是1.1 POST http://localhost:1538/WebForm1.aspx HTTP/1.1 ----------------------------------------------------------------------------------------------------- Accept: text/html, application/xhtml+xml, */* ----------------------------------------------------------------------------------------------------- //告诉服务器我是从哪个页面链接过来的 Referer: http://localhost:1538/WebForm1.aspx ----------------------------------------------------------------------------------------------------- //我(浏览器)支持zh-CN语言(简体中文) Accept-Language: zh-CN ----------------------------------------------------------------------------------------------------- Content-Type: application/x-www-form-urlencoded ----------------------------------------------------------------------------------------------------- //告诉服务器,我(浏览器)是兼容Mozilla/5.0的浏览器,版本是11.0(rv:11.0) 浏览器(IE)的排版引擎是7.0版本的(Trident/7.0)【如果是火狐浏览器Firefox对应的则是Gecko ,Gecko则是 Firefox 使用的排版引擎,也称渲染引擎】 我的操作系统的版本是64位(WOW64)的windows7(Windows NT 6.1), //xp是windows nt5.1,vista是windows nt6.0,win7是windows nt6.1,win8是windows nt6.2 //like Gecko则是IE11的新标识,表示它是兼容Gecko的内核。IE11之前的版本比标识名字则是 MSIE User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko ----------------------------------------------------------------------------------------------------- //这条信息代表本地可以接收压缩格式(gzip)的数据;服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩;在用户浏览器发送请求的HTTP头中, 带有"Accept-Encoding: gzip, deflate"参数则表明支持gzip和deflate两种压缩算法. 服务器在处理时就将大文件压缩再发回客户端,IE在接收完成后在本地自动对这个文件又进行了解压操作。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。 【我们可以使用两种不同的方法压缩内容:GZip 和 deflate;详情:http://jingyan.baidu.com/article/9f63fb91d862b0c8400f0eb0.html】 Accept-Encoding: gzip, deflate ----------------------------------------------------------------------------------------------------- Host: localhost:1538 ----------------------------------------------------------------------------------------------------- Content-Length: 429 ----------------------------------------------------------------------------------------------------- //一般情况下,一旦web服务器想浏览器发送完了请求数据,它就要关闭TCP连接,如果报文里加了Connection: Keep-Alive就不一样了,它会保持连接特性 //从HTTP/1.1起,默认都开启了Keep-Alive,保持连接特性,简单地说,当开启了Keep-Alive后,单一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接就不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接 //因为css,图片,js都是单独的请求(Reques),我当这个页面刚打开后,我是建议服务器别把我这个连接给我关掉,我后面还要请求图片呢。这样就不需要在下次请求的时候再次开启一个连接了【其实也就是在一个连接中有几个请求】 Connection: Keep-Alive ----------------------------------------------------------------------------------------------------- Pragma: no-cache ----------------------------------------------------------------------------------------------------- //浏览器给Cokkie发给服务器了。 Cookie: ASP.NET_SessionId=itcka5su2tuqimfk3r5h0v4y __VIEWSTATE=%2FwEPDwUKMjExMTY5ODM3MA9kFgICAw9kFgICAQ8PFgIeBFRleHQFDzDliqDkuIotNuetieS6jmRkZI7u6iaGEp1Y8ibYMCEez59fyciMHOcKtdE1mBzZ6oZe -----------------------------------------------------------------------------------------------------
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。