HTTP整理(部分)

简介

HTTP协议工作在客户端-服务端架构上,浏览器作为HTTP客户端通过url向HTTP服务端即web服务器发送所有请求。

Web服务器:Apache、IIS等

默认端口:80

HTTP无连接:每次只处理一个请求,节约传输时间。

HTTP媒体独立:只要客户端和服务器知道如何处理,任何类型数据都能通过HTTP发送。

HTTP无状态:无记忆功能。如果后续处理需要前面信息,必须重传。

请求和响应

请求行

请求方法

是HTTP协议里规定的,但是web sever未必允许/支持这些方法

  GET

  POST

    比get多了主体信息、头信息里要标主体长度、告诉服务器content-type

  PUT

  DELETE

  TRACE

    用了代理上网,如代理访问网站,想看代理有没有修改HTTP请求,可以用TRACE来测试下,服务器会把最后收到的请求返回

  OPTIONS

    返回服务器可用的请求方法

  HEAD

    和GET基本一致,不返回内容,如果只是确认一个内容还正常存在,不返回内容,用HEAD比较合适

请求资源路径

  url一部分

请求协议

请求头信息

  如Host:localhost

  Content-length:请求主体长度

  头信息结束后由一个空行(不管有无主体信息,空行不能少)

  头信息非常丰富

请求主体信息

可以没有

响应行

如HTTP/1.1 200 OK

协议

版本

状态码

状态文字

响应头信息

content-length:接下来主体长度

响应主体信息

 

Referer、防盗链

代表网页来源,即上一页地址,如果直接在浏览器上敲地址,则没有referer

在web服务器层面,根据http协议的referer头信息判断,如果来自站外,则统一写一个防盗链

缓存控制

有一些缓存服务器,浏览器自身也有缓存功能

 

如果时间点后修改过,则重新请求

如果最新的ETag和If-None-Match不匹配,重新请求

 

cache-control

 

内容压缩

Content-Encoding:gzip

为了提高传输速度,服务器对主体信息阿索,如gzip、deflate、compress、google chrome的sdch压缩

一般压缩文本格式文件

采集时,可以不发送Accept-Encoding信息,采集的直接是源代码,也可采集gzip,再用php解压(?)

 

posted @ 2020-07-03 23:03  晓屈  阅读(165)  评论(0编辑  收藏  举报