HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的 应用层协议。HTTP 是万维网的数据通信的基础。默认端口为 80

  设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。通过 HTTP 或者 HTTPS 协议请求的资源由 URI(Uniform Resource Identifiers,统一资源标识符)来标识。其中最著名的是 1999 年 6 月公布的 RFC 2616,定义了 HTTP 协议中现今广泛使用的一个版本 HTTP 1.1

  2014 年 12 月,互联网工程任务组(IETF)的 Hypertext Transfer Protocol Bis(httpbis)工作小组将 HTTP/2 标准提议递交至 IESG 进行讨论,于 2015 年 2 月 17 日被批准。HTTP/2 标准于 2015 年 5 月以 RFC 7540 正式发表,取代 HTTP/1.1 成为 HTTP 的实现标准。

  • HTTP 版本:

    • HTTP/0.9:已过时。只接受 GET 一种请求方法,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持 POST 方法,因此客户端无法向服务器传递太多信息。
    • HTTP/1.0:定义了 GET、POST 和 HEAD 3 种请求方法。这是第一个在通讯中指定版本号的 HTTP 协议版本,至今仍被广泛采用,特别是在代理服务器中。
    • HTTP/1.1:定义了 GET、POST、HEAD、PUT、OPTIONS、DELETE、TREACE、CONNECT 8 种请求方法。HTTP/1.1 相较于 HTTP/1.0 协议的区别主要在于:

      • 缓存处理
      • 带宽优化及网络连接的使用
      • 错误通知管理
      • 消息在网络中的发送
      • 互联网地址的维护
      • 安全性及完整性
    • HTTP/2:当前版本,与 2015 年 5 月作为互联网标准正式发布。
    • HTTP/3:是即将到来的第三个主要版本的 HTTP 协议,使用于万维网。在 HTTP/3 中,将弃用 TCP 协议,改为使用基于 UDP 协议的 QUIC 协议实现。QUIC(快速 UDP 网络连接)是一种实验性的传输层网络传输协议,由 Google 开发,该协议旨在取代 TCP 协议,使网页传输更快。

  • HTTP/1.1 的 8 种请求方法:

    • GET

      • 请求指定的页面信息,并返回实体主体。
    • HEAD

      • 类似于 GET 请求,都是向服务器发出指定资源的请求。只不过服务器将不传回资源的主体部分,用于获取报头、确认 URI 的有效性及资源更新的日期时间等。它的好处在于,使用这个方法可以在不必传输全部内容的情况下,就可以获取其中“关于该资源的信息”(元信息或称元数据)。
    • POST

      • 向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。数据被包含在请求本文中。这个请求可能会创建新的资源或修改现有资源,或二者皆有。
    • PUT

      • 向指定资源位置上传其最新内容。
    • DELETE

      • 请求服务器删除指定页面/资源。
    • TRACE

      • 回显服务器收到的请求,主要用于测试或诊断。
    • OPTIONS

      • 这个方法可使服务器传回该资源所支持的所有 HTTP 请求方法。用“*”来代替资源名称,向 Web 服务器发送 OPTIONS 请求,可以测试服务器功能是否正常运作。
    • CONNECT

      • HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。CONNECT 方法要求在与代理服务器通信时建立隧道,实现用隧道协议进行 TCP 通信。主要使用 SSL(安全套接层)和 TSL(传输层安全)协议把通信内容加密后经网络隧道传输。
    • PATCH(由 RFC 5789 指定的方法)
      • 用于将局部修改应用到资源。

版权声明:本文为wumz原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wumz/p/10708439.html