HTTP 专题

发布时间: 更新时间: 总字数:625 阅读时间:2m 作者: 分享 复制网址
专栏文章
  1. HTTP 专题(当前)
  2. HTTP API 设计格式
  3. HTTP 响应码
  4. HTTP 认证方式
  5. Web 服务中 Session 和 Cookie 的区别
  6. JWT与SSO的关系
  7. HTTP Transfer-Encoding详解
  8. HTTPS中的加密算法相关概念
  9. HTTP 缓存策略
  10. CDN 介绍
  11. GraphQL 介绍

超文本传输​​协议(HTTP) 是一个用于传输超媒体文档(例如 HTML)的应用层协议。它是为 Web 浏览器与 Web 服务器之间的通信而设计的。

介绍

HTTP(HyperText Transfer Protocol,超文本传输协议) 是互联网使用的核心协议,是所有的Web应用程序的通信协议。

说明:

  • HTTP 遵循经典的客户端-服务端模型,客户端打开一个连接以发出请求,然后等待直到收到服务器端响应
  • 传输层使用有状态的TCP传输,HTTP协议本身无状态,可使用 Web 服务中 Session 和 Cookie 记录状态

请求 request

Http 请求消息分为消息头和消息体。

<request info>\r\n
key1: value1\r\n
key2: value2\r\n
...
\r\n // 空行
<request body>

说明:

  • request info 组成:<method[GET|POST|PUT|...]> <url> <protocol[HTTP/1.0|HTTP/1.1|HTTP/2]>
  • Header
    • Host
    • User-Agent
    • Referer 发出请求的原始 URL
    • Cookie

响应 response

<response info>\r\n
key1: value1\r\n
key2: value2\r\n
...
\r\n // 空行
<response body>

说明:

  • response info 组成:<protocol[HTTP/1.0|HTTP/1.1|HTTP/2]> <status code[20x|30x|40x|50x]> <status text[Accept|...]>
  • Header
    • Server web 服务器软件名称
    • Content-Type 消息体类型,浏览器解析使用
    • Content-Length 消息体的字节长度
    • Set-Cookie 设置 cookie 信息,后续再请求会带回该信息,一般存储状态信息

HTTP 方法

  • GET 获取资源
  • POST 创建资源
  • PUT 修改资源
  • DELETE 删除资源
  • HEAD 检测资源是否存在
  • OPTIONS 请求服务器报告某一资源的 HTTP 方法,通常返回 Allow 消息头响应
  • CONNECT
  • TRACE 诊断

RPC vs HTTP

  • RPC 是一个完整的远程调用方案,包括:接口规范序列化/反序列化规范通信协议(如七层的HTTP、四层的TCP等)
  • HTTP 是一个通信协议,工作中 OSI 的第七层

示例

专栏文章
  1. HTTP 专题(当前)
  2. HTTP API 设计格式
  3. HTTP 响应码
  4. HTTP 认证方式
  5. Web 服务中 Session 和 Cookie 的区别
  6. JWT与SSO的关系
  7. HTTP Transfer-Encoding详解
  8. HTTPS中的加密算法相关概念
  9. HTTP 缓存策略
  10. CDN 介绍
  11. GraphQL 介绍
最新评论
加载中...
Home Archives Categories Tags Statistics