博客连接:
https://www.cnblogs.com/kissdodog/archive/2013/01/11/2856335.html
1.请求头部
User-Agent:浏览器的具体类型 如:User-Agent:Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20100101 Firefox/17.0
Accept:浏览器支持哪些数据类型 如:Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Charset:浏览器采用的是哪种编码 如:Accept-Charset: ISO-8859-1
Accept-Encoding:浏览器支持解码的数据压缩格式 如:Accept-Encoding: gzip, deflate
Accept-Language:浏览器的语言环境 如:Accept-Language zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。Host:www.baidu.com
Connection:表示是否需要持久连接。Keep-Alive/close,HTTP1.1默认是持久连接,它可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间。要实现这一点,Servlet需要在应答中发送一个Content-Length头,最简单的实现方法是:先把内容写入ByteArrayOutputStream,然后在正式写出内容之前计算它的大小。如:Connection: Keep-Alive
Content-Length:表示请求消息正文的长度。对于POST请求来说Content-Length必须出现。
Content-Type: application/x-www-form-urlencoded
这是将表单的内容使用uri的编码进行编码urlencoded,这个url标准中使用的utf-8编码成对应的16进制字符串,在加一个%进行转义,但是html的标准中没有规定要求一定要使用utf-8来编码。所以还是统一使用utf-8的吧。
注意:只有form表单会自动帮你uri编码
a标签的超链接不会帮你转的!自己转uri编码。
举个例子:
“春节”这个两个汉字,转化为utf-8编码并且使用16进制表示就是这样的!然后uri规定了%后面跟着两个16进制的数字,表示一个字符的8位、
一个‘’春‘’字有3个字节所以 就要三个%%%才能表示
两个字 就转化为如下,借一下某这个网页图片。
http://www.imooc.com/wenda/detail/529914
响应头部:
Content-Length:表示请求响应正文的长度。
Content-Type:WEB服务器告诉浏览器自己响应的对象的MIME类型和字符集。MIME是指网络传输的媒体类型。例如:Content-Type: text/html; charset=‘gb2312’ 这个后面的字符集是指问你前面的这个。类型是文本格式的话,那么你需要带一个文本的解析编码。现在很多浏览器一般。我不会传递这个编码。因为HTML文件里面。有一个meta标签可以指定。这个文件的编码格式。
Content-Encoding:WEB服务器表明自己使用了什么压缩方法(gzip,deflate)压缩响应中的对象。例如:Content-Encoding:gzip
Content-Language:WEB服务器告诉浏览器自己响应的对象的语言。
Cookie:最常用的请求头,浏览器每次都会将cookie发送到服务器上,允许服务器在客户端存储少量数据。
有些浏览器是这样写的:Set-cookie:
Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。服务器能知道你是从哪个页面过来的。Referer: http://www.baidu.com/ 这东西可以获取你上一个浏览的网页。这个可以用于过滤嘻嘻!不是本服务器过来的都不给信息。可以起到防盗链接的作用!
也可以用这个来统计,我在百度做的广告,有多少的访问量是从百度过来,或者从其他地方过来的,我的网页广告从哪个地方来的最多。
Server:这是服务器的名称和版本。
Date:这个响应报文的响应时间。