HTTPheaders详解headers常用属性

HTTPheaders详解headers常⽤属性
⼀、HTTP headers 是什么?
HTTP是“Hypertext Transfer Protocol”的所写,整个万维⽹都在使⽤这种协议,⼏乎你在浏览器看到的⼤部分内容都是通过http协议来传输的.
HTTP Headers是HTTP请求和相应的核⼼,它承载了关于客户端浏览器,请求页⾯,服务器等相关的信息
当你在浏览器地址栏⾥键⼊⼀个url,你的浏览器将会类似如下的http请求:
GET /tutorials/other/top-20-mysql-best-practices/ HTTP/1.1
Host: net.tutsplusUser-Agent: Mozilla/5.0(Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5(.NET CLR 3.5.30729) Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive:300
Connection: keep-alive
Cookie: PHPSESSID=r2t5uvjq435r4q7ib3vtdjq120Pragma: no-cacheCache-Control: no-cache
第⼀⾏被称为“Request Line” 它描述的是这个请求的基本信息,剩下的就是HTTP headers了。
请求完成之后,你的浏览器可能会收到如下的HTTP响应:
HTTP/1.x 200 OK
Transfer-Encoding: chunkedDate: Sat,28 Nov 200904:36:25
GMTServer: LiteSpeedConnection: closeX-Powered-By: W3 Total Cache/0.8Pragma: publicExpires: Sat,28 Nov 200905:36:25 GMTEtag:"pub125938023 7;gz"Cache-Control:max-age=3600, public
Content-Type: text/html; charset=UTF-8
Last-Modified: Sat,28 Nov 200903:50:37
GMTX-Pingback: net.tutsplus/xmlrpc.php
Content-Encoding: gzipVary:
Accept-Encoding,
Cookie, User-Agent<!--... rest of the html ...
第⼀⾏呢被称为“Status Line”,它之后就是http headers,空⾏完了就开始输出内容了(在这个案例中是⼀些html输出)。
但你查看页⾯源代码却不能看到HTTP headers,虽然它们同你能看到的东西⼀起被传送⾄浏览器了。
这个HTTP请求也发出了⼀些其它资源的接收请求,例如图⽚,css⽂件,js⽂件等等。
⼆、浏览器怎么查看HTTP headers
1. 打开浏览器,F12打开控制台
2. 输⼊访问URL
3. 点击Network 点击请求 点击Headers 。便可查看到
三、HTTP header 常⽤属性
(1) Host:
acceptlanguageHost:www.baidu(此处使⽤缺省端⼝号443,若指定了端⼝号,则变成:Host:指定端⼝号
(2)Referer
当浏览器向web服务器发送请求的时候,⼀般会带上Referer,告诉服务器该请求是从哪个页⾯链接过来的,服务器借此可以获得⼀些信息⽤于处理。⽐如从我主页上链接到⼀个朋友那⾥,他的服务器就能够从HTTP Referer中统计出每天有多少⽤户点击我主页上的链接访问他的⽹站。
(3)User-Agent
这个对于爬⾍⽐较重要 因为⼀班都需要添加该属性,否则稍微处理过的⽹站,都⽆法爬取。
告诉HTTP服务器, 客户端使⽤的操作系统和浏览器的名称和版本。
我们上⽹登陆论坛的时候,往往会看到⼀些欢迎信息,其中列出了你的操作系统的名称和版本,这往往让很多⼈感到很神奇,实际上,服务器应⽤程序就是从User-Agent这个请求报头域中获取到这些信息。User-Agent请求报头域允许客户端将它的操作系统、浏览器和其它属性告诉服务器。
例如: User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; CIBA; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; InfoPath.2; .NET4.0E)
1. 应⽤程序版本“Mozilla/4.0”表bai⽰:你使⽤Maxthon
2.0 浏览du器使⽤ IE8 内核;
2. 版本标识“zhiMSIE 8.0”
3. 平台⾃⾝的dao识别信息“Windows NT 5.1”表⽰“操作系统为zhuan Windows XP”
4. Trident内核版本“Trident/4.0”,浏览器的⼀种内核,还有⼀种就是WebKit内核
(4)Content-type
表⽰后⾯的⽂档属于什么MIME类型。Servlet默认为text/plain,但通常需要显式地指定为text/html。由于经常要设置Content-Type,因此HttpServletResponse提供了⼀个专⽤的⽅法setContentType。
常见的媒体格式类型如下:
text/html : HTML格式
text/plain :纯⽂本格式
text/xml : XML格式
image/gif :gif图⽚格式
image/jpeg :jpg图⽚格式
image/png:png图⽚格式
以application开头的媒体格式类型:
application/xhtml+xml :XHTML格式
application/xml : XML数据格式
application/atom+xml :Atom XML聚合格式
application/json : JSON数据格式
application/pdf :pdf格式
application/msword : Word⽂档格式
application/octet-stream : ⼆进制流数据(如常见的⽂件下载)
application/x-www-form-urlencoded : 中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
另外⼀种常见的媒体格式是上传⽂件之时使⽤的:
multipart/form-data : 需要在表单中进⾏⽂件上传时,就需要使⽤该格式。
(5)Accept-Language
Accept-Langeuage:指出浏览器可以接受的语⾔种类,如en或en-us指英语,zh或者zh-cn指中⽂,当服务器能够提供⼀种以上的语⾔版本时要⽤到。
(6)Cookie
Cookie:浏览器⽤这个属性向服务器发送Cookie。Cookie是在浏览器中寄存的⼩型数据体,它可以记载和服务器相关的⽤户信息,也可以⽤来实现会话功能。
(7)headers 常见安全攻击

本文发布于:2024-09-21 19:41:45,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/371765.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:RFC 4647
下一篇:Sapir-Wholf 假设
标签:请求   浏览器   服务器   信息   看到   属性
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议