[Bounty]熟悉HTTP协议

1HTTP简介

2http工作原理

3 HTTP请求报文

3.1 请求行信息

request method请求方法。在HTML文档中书写get和post,大小写都可以,但在HTTP协议中的GET和POST只能是大写形式。

3.2 协议版本

http1.1和http1.0区别

  1. 在HTTP1.0协议中,客户端与网络服务器建立连接后,只能获得一个网络资源。
  2. HTTP1.1 协议,允许客户端与网络服务器建立连接后,在一个连接上获取多个网络资源(常用)。

请求头信息

每个头域由一个域名,冒号(:)和域值三部分组成。++域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格符或者制表符++。

4.1 status code

  • 203 非授权信息。请求成功。但返回的meta信息不再原始的服务器,而是一个副本。
  • 305 使用代理。所请求的资源必须通过代理访问
  • 401 请求要求用户的身份认证
  • 407 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权
  • 410 客户端请求的资源已经不存在。不同于404,网站设计人员可通过301代码指定资源的新位置。
  • 502 作为网关或者代理的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应。
  • 504 充当网关或代理的服务器,未及时从远端服务器获取请求
  • 505 服务器不支持请求的HTTP协议的版本,无法完成处理

Vary:指示不可缓存的请求头列表
例如 vary:Accept-Encoding

5.浏览器缓存

浏览器缓存:包括页面HTML缓存和图片js,css等资源的缓存。

缓存的优点:

  1. 服务器响应更快
  2. 减少网络贷款消耗

缓存工作原理

页面缓存状态是由http header决定的,一个浏览器请求信息,一个是服务器响应信息。主要包括Pragma:no-cache、Cache-Control、Expires、Last-Modified、If-Modified-Since。其中Pragma:no-cache由HTTP/1.0规定,Cache-Control由HTTP/1.1规定。

原文地址:https://www.cnblogs.com/NBeveryday/p/HTTP.html