http首部

1. htttp 报文首部

  • 报文结构为:首部 空行(CR+LF)主体

  • 在请求中 http报文首部由请求方法,URI,http版本,首部字段等构成

  • 在响应中:状态码,http版本,首部字段3部分构成

2. http 首部字段

  • 给浏览器和服务器提供报文主体大小,所使用语言,认证信息等

  • 字段结构 为 首部字段名:字段值 例如 content-Type:text/html

3. http/1.1 通用首部字段

  • 请求报文和响应报文都会使用的首部

  • 首部字段cache-control 指令,操作缓存工作机制,可用于请求和响应

  • cache-control: private ,max-age=0,no-cache,

  • private : 缓存服务器会对该特定用户提供资源缓存的服务
  • public:表示其他用户也可以利用缓存
  • no-cache: 客户端请求使用no-cache表示客户端将不接收缓存响应,缓存服务器必须把请求转发给源服务器;从服务器端响应中包含no-cache表示 缓存服务器将不能对资源进行缓存,,源服务器也不在对缓存服务器请求中提出的资源有效性进行确认 。
  • no-store: 请求或者响应的任一部分都不缓存在本地存储

  • max-age: 请求中包含的话表示 缓存资源的缓存时间比指定时间数值更小,则客户端就接收缓存资源,值为0时说明需要将缓存服务器转发给源服务器;响应中包含max-age;时,表示缓存服务器不对该时间内资源的有效性再作确认,值则表示资源保存为缓存的最长时间。

  • only-if-cached指令 从缓存获取资源

  • connection : keep-alive close ,在http/1.1版本默认连接时持久连接,之前版本则是非持久连接,所有老版本要用keep-alive值,close 表示断开连接

  • pargma:no-cache 只用在客户端请求中,表示要求中间服务器不返回缓存的资源。

4. 请求首部字段

  • 从客户端发往服务器端发送请求 报文中所使用的字段

  • Accept :text/html application/xhtml+xml, 通知服务器 自己需要的资源格式(可以是多种格式),以及格式的优先级(q= ,权重,0到1之间,1为最大值和默认值,)
  • Accept-Charset : unicode-1-1; q=0.8 ,通知服务器 希望接收客户端所支持的字符集,以及字符集的优先级,
  • Accept-Encoding: gzip 通知服务器 用户代理所支持的内容编码
  • Accept-Language: 用户代理所支持的语言集
  • Authorization 用户代理的认证信息,(与状态码401有关)
  • Expect 期望某种特定的行为(与状态码417有关)
  • Host (必要字段):告知服务器请求的资源所处的互联网主机名和端口号

等等

5. 响应首部字段

由服务器端向客户端返回响应报文中所使用的字段

  • Accept-Ranges :bytes 或者none, 告知客户端服务器是否能处理范围请求

  • Age: 告知客户端,源服务器在多久之前创建了响应。值单位为秒。

  • Location : 与重定向URI 相关,与状态码(3XX)相关

  • Aetry-After: 告知客户端在多久之后重试再次发送请求

  • Serve :告知客户端服务器上安装的http 服务器应用程序的信息

  • Vary : 对缓存进行控制,源服务器会向代理服务器传达关于本地缓存使用方法的命令,仅仅对请求中含有相同vary 指定首部字段的请求返回缓存。

6. 实体首部字段

请求和响应 实体content所使用的首部字段

  • Content-Type: 资源类型

7. 为cookie 服务的首部字段

cookie 工作机制用户识别以及状态管理,web网站为了管理用户状态,会通过web浏览器,把一些数据l临时写入调用用户的计算机内,接着当用户访问该web网站时,可通过通信方式取回之前发放的Cookie。由于可校验cookie 有效期以及发送方的域,路径,协议等信息,所以正规发布的Cookie内的数据不会因来自其他web站点和攻击者的攻击而泄漏。

  • expires =Date Cookie 有效期

  • path=PATH 将服务器上的文件目录作为cookie 的使用对象

  • domain 作为cookie 适用对象的域名

  • Secure 仅在https 安全通信时才发送cookie

  • HttpOnly 加以限制,使Cookie 不能被js脚本访问

8. 其他首部字段

  • X-Frame-option: 属于响应首部,用于控制网站内容在其他Web 网站的Frame标签内显示的问题 DENY (拒绝); SAMEORIGIN : 仅在同源域名下的页面匹配上许可,也就是说可以放在frame标签内显示。
  • DNT 属于请求首部 拒绝个人信息被收集 0 :同意被追踪,1 : 拒绝被追踪

  • P3P 响应首部 ,保护用户隐私

你可能感兴趣的:(http,网络协议,网络)