HTTP协议详解
HTTP协议详解
https://www.bilibili.com/video/BV1js411g7Fw/
P1 0x00-HTTP协议概念及工作流程
P2 0x01-HTTP协议之方法与状态码
options 探测支持哪些方法
200-服务器成功返回网页
301/2-永久/临时重定向
304 Not Modified-未修改
失败的状态码:
404-请求的网页不存在
503-服务器暂时不可用
500-服务器内部错误
307 重定向中保持原有的请求数据
P3 0x02-socket编程发送GET请求
P4 0x03-socket编程批量发帖
Content-type:application/x-www-form-urlencoded
P5 0x04-http协议模拟登陆发帖
www.zixue.it
P6 0x05-referer头与防盗链
在 Http协议中,头信息里,有一个重要的选项:Referer Referer:代表网页的来源,即上一页的地址
如果是直接在浏览器上输入地址,回来进来,则没有 Referer头.
这也是:为什么服务器知道我们的图片是从哪儿引用的,也知道我们的客户从哪个网站链接点击过来的.
改referer 反防盗链
P7 0x06-http缓存详解
HTTP 协议缓存控制
我们观察图片的下载.往往:
第1 次请求时 200 ok
第2次请求时 304 Not Modified 未修改状态
解释:在网络上,有一些缓存服务器,另,浏览器自身也有缓存功能.
当我们第一次某图片时,正常下载图片,返回值200
基于一个前提--图片不会经常改动,服务器在返回 200 的同时,还返回该图片的“签名”--Etag,(签名可以理解图片的"指纹")
.当浏览再次访问该图片时,去服务器校验"指纹”
如果图片没有变化.直接使用缓存中的图片,这样减轻了服务器负担
第一次响应头 ETag last-modified
第二次请求头 If-modified-Since If-none-Match
如果是 304,就意味着浏览器从本地取缓存,节省了图片在网络上传输的时间.
Apache 缓存图片
P8 0x07-http内容压缩
Content-encodimg:gzip
原理:为了提高网页在网络上的传输速度,服务器对主体信息进行压缩.
如常见的 gzip 压缩,deflate 压缩。compress 压缩以及 google chrome 正在推的 sdch 压缩.
刚才那个情况的原因-----服务器对页面进行了压缩,而 content-length是"压缩后"的长度
为什么要指定文件类型来压缩?
答:压缩也是要耗CPU资源的,图片/视频等文件,压缩效果也不好.
一般压缩文本格式.
客户端允许发一个 Accept-Encoding 头信息,与服务器协商. 判断浏览器支持什么压缩
P9 0x08-comet反向ajax
HTTP 协议与技久链接+分块传输--->反向ajax反向
ajax又叫 comet,server push,服务器推技术.
应用范围:网页聊天服务器,新浪微博在线聊天,google mail网页聊天,都有用到.

浙公网安备 33010602011771号