图解HTTP-2. 简单的HTTP协议

第二章 简单的HTTP协议

    • 客户端:请求访问文本或图像等资源的一端。
    • 服务器:提供资源响应的一端。

    • 先从客户端开始建立通信。
    • 客户端发送请求报文中的内容:

    GET(请求访问服务器的类型,称为方法)+字符串(指明请求访问的资源对象,也叫请求URI)+HTTP的版本号+(可选)请求首部字段和内容实体。

    • 服务器将请求内容的处理结果以响应的形式返回:

    服务器的对应的HTTP版本+请求处理结果的状态码和原因短语+下一行+创建响应的日期时间(是首部字段内的一个属性)+空行+资源实体的主题。

    • HTTP是不保存状态的协议,即无状态协议。所谓的无状态指的是HTTP自身不对请求和响应之间的通信状态进行保存。这样是为了更快地处理 大量事物。
    • 但有点业务需要保持保存用户的状态,于是引进了cookie技术。
    • HTTP协议使用URI让客户端定位到资源,当客户端请求访问资源而发送请求时,URI需要将作为请求报文中的请求URI包含在内。
    • 指定请求URI的方式有很多:
    1. URI为完整的请求URI。
    2. 在首字母Host中写明网络域名或IP地址。
    3. 如果不是访问特定资源而是对服务器本身发起请求,可以用*来代替请求URI。
    • 告知服务器意图的HTTP方法:
    1. GET:获取资源。此方法用于请求访问已被URI识别的资源(指定的的资源经服务器端解析后返回响应内容)。
    2. POST:传输实体主体,与GET不同的是,POST的主要目的并不是获取响应的主体内容。
    3. PUT:传输文件,但其自身不带验证机制,有可能存在安全问题,所以一般的Web网站不用该方法。
    4. HEAD:获得报文首部,跟GET方法一样,但不返回报文的主题部分。用于确认URI的有效性及资源更新的日期时间等。
    5. DELETE:删除文件,是与PUT相反的方法。DELETE方法按URI删除指定资源。
    6. OPTIONS:询问支持的方法。此方法用来查询针对请求URI指定的资源支持的方法。
    7. TRACE:追踪路径。此方法是让Web服务器端将之前的请求通信返回给客户端的方法。此方法可以查询发送出去的请求是怎样被加工修改/篡改的。
    8. CONNECT:要求出隧道协议连接代理。此方法要求在于代理服务器通信建立隧道,实现用隧道协议进行TCP通信。主要使用SSL(安全套接层)和TLS(传输层安全)协议把通信内容加密后经网络隧道传输。
    9. LINK:建立和资源之间的联系。(不支持HTTP/1.1)
    10. UNLINK:断开联系关系。(不支持HTTP/1.1)
  • 使用方法下达命令(向请求URI指定的资源发送请求报文时,采用称为方法的命令)
  • 方法的作用在于,可以指定请求的资源按期望产生某种行为。注意方法区分大小写,要用大写字母。
  • 持久连接节省通信量
  1. 持久连接,即HTTP Persistent Connection也被称为HTTP keep-alive或HTTP connection reuse。其特点是只要任意一段没有明确提出断开连接,则保持TCP连接状态。这样可提高速度。
  2. 管线化,不用等待响应亦可直接发送下一个请求,从而能够做到同时并行发送多个请求。
  • 使用Cookie的状态管理用来控制客户端的状态。Cookie会根据从服务器端发送的的响应报文内的一个叫做Set-Cookie的首部字段信息,通知客户端保存Cookie。当下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入Cookie值后发送出去。

“图解HTTP-2. 简单的HTTP协议”的一个回复

发表评论

电子邮件地址不会被公开。