HTTP请求头(HTTP Request)

HTTP是一个请求/回应协议,计算机发送一个请求(如:给我‘home.html’这个文件),然后服务器就送回一个响应(呐,这个就是你要的文件,后面跟着的就是home.html文件)。
  HTTP Request包含内容说明:例,访问http://djce.org.uk/dumprequest 。使用Sniffer工具捕获信息如下:
  GET /dumprequest HTTP/1.1
  User-Agent: Opera/9.63 (Windows NT 5.1; U; Edition IBIS; zh-cn) Presto/2.1.1
  Host: djce.org.uk
  Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
  Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
  Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
  Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
  Referer: http://www.google.cn/search?hl=zh-CN &newwindow=1&q=http+request&btnG=Google+%E6%90%9C%E7%B4%A2&meta=&aq=0&oq=http+req
  Pragma: no-cache
  Cache-Control: no-cache
  Connection: Keep-Alive
  分析如下:
  1、源IP地址、端口和代理
  Source IP address:    58.248.112.83
  Source port:    2482
  Via:    not present
  X-Forwarded-For:    not present
   为了收到服务发回来的回应,必须告诉服务器发送方的IP、端口。另一方面,也可以通过一个或多个代理服务器访问。如果HTTP Request中包含了“Via”或“X-Forwarded-For”,强烈指示了至少是通个一个代理服务的。如查这两项都没包含,则没有通过代理服务 器,或是仅仅通过不加“Via” / “X-Forwarded-For”头来选择不“显示”。
  2、目标IP地址、端口、主机和协议
  Destination IP address:    91.84.196.2
  Destination port:    80
  Host:    djce.org.uk
  Protocol:    HTTP/1.1
  这些头告诉我们试图访问哪个Web 服务器,一个服务器上有许多网站,所以用IP和Host确定到底访问哪个网站。协议一般为HTTP/1.0或HTTP/1.1之一,由浏览器的属性和经过的代理所决定。
  3、请求的URI(通用资源标识符)
  Requested URI:    /dumprequest
  与“Host”头和目标端口一起,详细指定了想要取回的文档。根据给定的所有值,我们要得到要访问的文档的URL为:http://djce.org.uk/dumprequest
  4、请求方法和内容:
  Request method:    GET
  Data:    none
  请求方法有两种,要不是“GET”,要不就是“POST”。基本上要在网页上填一个表单然后递交的话,一般产生一个POST请求(也有可能是GET),而通过点击一个链接、或书签或收藏夹的,请求方法通常是GET。
   如是是POST的话,表单要明确地递交,“Content-”头描述了递交的数据。浏览器产生两种POST数据,一种是 “multipart/form-data”,用于上传文件,另一种就是普通的“application/x-www-form- urlencoded”。
  5、用户代理(User agent)
  User-Agent:    Opera/9.63 (Windows NT 5.1; U; Edition IBIS; zh-cn) Presto/2.1.1
   Accept:    text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
  Accept-Charset:    iso-8859-1, utf-8, utf-16, *;q=0.1
  Accept-Encoding:    deflate, gzip, x-gzip, identity, *;q=0
  Accept-Language:    zh-CN,zh;q=0.9,en;q=0.8
  User-Agent头:描述了用户浏览器,典型的它包含了浏览器名称和版本(如Firefox 1.0.7)、操作系统和版本(如Window XP)和可能的附加信息(如装了哪个系统补丁)。
  “Accept”头:描述浏览器可以处理的各种事物,如果有选择的话宁可给出各种类型。“Accept”头本身描述了浏览器可以处理的文档类型,比如告诉服务器浏览器有能力处理“image/png”图像。
  “Accept-Charset”头:描述可以接受何种字符集。通过这个可以猜测用户使用什么语言,如西欧和北美通常仅用“iso-8859-1”、“us-ascii”、“uft-8”,若出现“big5”则可能是台湾。
  “Accept-Encoding”头:描述浏览器处理文档压缩传输的能力。
  “Accept-Langage”头:告诉服务器你较喜欢接收哪种语言的文档(如果服务器有提供选择的话)。
  6、来源页(Referring Page)
  Referer:    http://www.google.cn/search?hl=zh-CN &q=http+request&btnG=Google+%E6%90%9C%E7%B4%A2&meta=&aq=f&oq=
  “ Referer”头:告诉服务器是从哪个页面链接进来的。上面例子中就表示从Google搜索引擎链接进来的。如果是点击书签或直接输入网址的话,Refere头将缺失。
  7、Cookies
  Cookie:    not present
   每次Web服务器提供给用户一个回应(一个页面、图像等),它有机会向用户浏览器发送一个“Cookie”,Cookie是用户浏览器保存的一小片信 息,可以在随后发送请求文档时送回给同一个Web服务器。(1)Cookie只能被送回与第一次发过来的同一个Web服务器;(2)Cookie的内容只 包含服务器能够知道的信息。
  8、连接控制
  Connection:    Keep-Alive, TE
  Keep-Alive:    not present
  这个头用于微调网络交通。Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。
  9、缓存控制
  Pragma:    not present
  Cache-Control:    not present
  If-Modified-Since:    not present
  这个头用于控制文档缓存。通过检查它们,可以检测到用户是否使用“刷新”按钮来强制重新载入文档。
  比如用Mozila的刷新按钮,它会将“Cache-Control” 设为 “max-age=0”,而MSIE5.5会设为“no-cache”。
  10、授权
  Username:    not present
  当登录到一个Web服务器时,客户的用户名出现在这里。注,仅用于正规的HTTP认证。即一个弹出登录框,有三次机会输入用户密码。
  有时在URL中输入用户名密码,如http://user:password@www.example.com/ ,这种情况下,用户名也会显示在这里。
  总结:
  请求头中包含比较有趣的信息片:
  源IP地址
  HTTP代理服务器
  请求的是哪个文档
  使用的浏览器版本
  是从哪里链接过来的
  优先的语言
  Cookies
  Cookies中有些信息可以明显看得出是什么意思,如LastLoginName=Jred。但更多的内容很难知道是什么意思,只有服务器能理解,如TGIDX=wl4o6ulhw48lw845yh68hylohw45。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lzj0470

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值