第二章:简单的HTTP协议

  1. 请求访问文本或图像等资源的一端称为客户端,而提供资源响应的一端称为服务器端;
  2. 应用 HTTP 协议时,必定是一端担任客户端角色,另一端担任服务器端角色;
  3. 请求必定由客户端发出,而服务器端回复响应;
  4. 请求报文 是由请求方法 、请求 URI、协议版本、可选的请求首部字段和内容实体构成的;
  5. 响应报文 基本上由协议版本、状态码(表示请求成功或失败的数字代码)、用以解释状态码的原因短语、可选的响应首部字段以及实体主体构成。稍后我们会对这些内容进行详细说明;
  6. HTTP 是一种不保存状态,即无状态(stateless)协议。HTTP 协议自身不具备保存之前发送过的请求或响应的功能;HTTP/1.1 虽然是无状态协议,但为了实现期望的保持状态功能,于是引入了 Cookie 技术。有了 Cookie 再用 HTTP 协议通信,就可以管理状态了;
  7. 方法:GET :获取资源;POST:传输实体主体 (用 GET 方法也可以传输实体的主体);PUT:传输文件 ;HEAD:获得报文首部 (不返回报文主体部分);DELETE:删除文件 (与put方法相反,不带验证机制);OPTIONS:询问支持的方法 ;
    在这里插入图片描述
  8. HTTP 协议的初始版本中,每进行一次 HTTP 通信就要断开一次 TCP连接。为解决上述 TCP 连接的问题,HTTP/1.1 和一部分的 HTTP/1.0 想出了持久连接(HTTP Persistent Connections,也称为 HTTP keep-alive 或HTTP connection reuse)的方法。持久连接的特点是,只要任意一端没有明确提出断开连接,则保持 TCP 连接状态。在 HTTP/1.1 中,所有的连接默认都是持久连接;
  9. 持久连接使得多数请求以管线化 (pipelining)方式发送成为可能。做到同时并行发送多个请求 ;
  10. Cookie 技术通过在请求和响应报文中写入 Cookie 信息来控制客户端的状态。Cookie 会根据从服务器端发送的响应报文内的一个叫做 Set-Cookie 的首部字段信息,通知客户端保存 Cookie。当下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入 Cookie 值后发送出去。服务器端发现客户端发送过来的 Cookie 后,会去检查究竟是从哪一个客户端发来的连接请求,然后对比服务器上的记录,最后得到之前的状态信息。

猜你喜欢

转载自blog.csdn.net/ChrisSen/article/details/88059105