Servlet技术的自我理解之二:HTTP协议的深入理解

来源:互联网 发布:linux 查看ssh key 编辑:程序博客网 时间:2024/06/13 12:56

理解HTTP的请求响应协议过程,对于理解Servlet技术有很大的帮助,个人赶脚~~

WEB服务器端与客户端的通信依赖于HTTP协议,客户端发送一个HTTP请求,服务器端就会用一个HTTP响应做出应答~~

这么干巴巴的说比较让人费解,缺少画面感,对非计算机专业出身的我更是不通透,所以,上一个强大的HttpWatch软件,帮助我理解~~

目前该软件支持IE,你让我再去下个火狐浏览器,不要吧,我只是想看下HTTP请求响应过程,并稍带分析下而已~~

网上有很多版,百度之,使用的测试软件是HttpWatch_Professional_7.0.23汉化破+IE8.0浏览器

你安装汉化完成后,进入的初始界面应该是这样的~~



我其他的不想看,只想分析下HTTP请求和响应的数据格式,当我输入"java"后,单击“记录”按钮,按下“百度一下”,开始抓取发送的数据



1、HTTP请求

(1)HTTP请求数据的第一行数据格式:请求类型(GET/POST)请求的路径及参数HTTP协议版本

可以看出,百度搜索的请求类型为GET类型,然后看第一行跟在GET后面的那一堆堆数据:

/s?wd=java&rsv_bp=0&ch=&tn=site888_pg&bar=&rsv_spt=3&ie=utf-8&rsv_sug3=6&rsv_sug4=187&rsv_sug1=8&f=3&rsp=0&inputT=4555 HTTP/1.1

/s:search的简写,请求URL,和后面的参数用“?”分隔

后面的一堆堆参数:搜索的是java,HTTP版本是1.1的

(2)第二行再开始:URL地址(Referer),浏览器支持的语言(Accept-Language),浏览器版本(User-Agent),服务器和端口号(Host,端口号隐藏了?),本次请求后浏览器还是否继续保持连接(Connection),浏览器向服务器发送的Cookie数据(Cookie)


2、HTTP响应

服务器在收到HTTP请求后,针对该请求做出处理,然后向客户端返回HTTP响应,把响应的内容贴出来,主要看加黑的那几行:(后面一堆乱码不懂)

HTTP/1.1 200 OK
Date: Fri, 28 Mar 2014 01:36:35 GMT
Content-Type: text/html;charset=utf-8
Transfer-Encoding: chunked
Connection: Keep-Alive
Vary: Accept-Encoding
COOK: 1
Cache-Control: private
Server: BWS/1.1
BDPAGETYPE: 3
BDQID: 0xac4f41a5000d1f0b
BDUSERID: 0
Set-Cookie: BD_CK_SAM=1;path=/
Set-Cookie: BDSVRTM=12; path=/
Set-Cookie: H_PS_PSSID=1438; path=/; domain=.baidu.com
Content-Encoding: gzip

第一行:响应的HTTP版本为1.1,200是响应码,OK是响应的状态描述

第三行:响应内容是HTML文本,编码方式是UTF-8

倒数第二行:指定了向客户端返回的Cookie信息

其中,状态响应码比较重要,上张图,留个念想,也当备查吧~~



0 0
原创粉丝点击