Http 协议分析

本贴最后更新于 1945 天前,其中的信息可能已经时移世易

http 请求都分为请求(响应)行,请求(响应)头(header),body 三部分。

1. http 首部

1.1 Host:

客户端通过 host 首部为服务器提供客户端想要访问的那台服务器的 ip 地址。告诉服务器我要访问哪台主机。

1.2 Expires

响应失效的日期和时间

1.3 Etag

为报文中的实体提供了实体标记。

1.4 Cache-Control

控制缓存的行为(no cache)

1.6 Upgrade

升级为其他协议(websocket 的时候这个字段为 websocket)

1.7 User-Agent

HTTP 客户端设备信息。

1.8 Referer

意义
告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从 HTTP Referer 中统计出每天有多少用户点击我主页上的链接访问他的网站。

作用

  • Referer 可以记录访问的来源,统计访问量,可以用来防盗链。
  • 客户端用 js 不能篡改 Referer,用一些插件什么的可以达到伪造的目的。
  • 可以使用 Fiddler 修改 Referer。
  • 利用 Referer 防止图片盗链

1.9 X-Requested-With

在服务器端判断 request 来自 Ajax 请求(异步)还是传统请求(同步):

websocket 协议的请求头

Accept-Encoding:gzip, deflate, sdch
Accept-Language:zh-CN,zh;q=0.8
Cache-Control:no-cache
Connection:Upgrade
Host:ws.innohub.io
Origin:http://bp.innohub.io
Pragma:no-cache
Sec-WebSocket-Extensions:permessage-deflate; client_max_window_bits
Sec-WebSocket-Key:IPUHmYqNh5thaasaVoB3lA==
Sec-WebSocket-Version:13
Upgrade:websocket
User-Agent:Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36


未完待续。。。。

  • HTTP
    71 引用 • 127 回帖 • 1 关注

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...