HTTP协议相关新知识 | 青训营

87 阅读5分钟

HTTP协议相关理论知识

HTTP(Hypertext Transfer Protocol)是一种用于传输在Web浏览器和Web服务器之间的数据的协议。它是在Web通信中最常用的协议之一,用于获取网页、图像、视频、音频等资源。HTTP使用客户端-服务器模型,其中客户端发起请求并等待服务器响应。 以下是HTTP的一些重要特点和概念:

  1. 请求-响应模型: 客户端发送HTTP请求到服务器,服务器处理请求并返回HTTP响应。请求中包含要执行的操作(GET、POST、PUT、DELETE等),以及资源的地址(URL)等信息。

  2. URL(Uniform Resource Locator): 它是用来定位资源在Web上的地址。URL包含协议(如http://或https://)、域名(如www.example.com)、端口号(可选,默认为80)、路径(资源在服务器上的位置)和查询参数(附加信息)等。

  3. HTTP方法: HTTP定义了多种请求方法,其中最常用的是:

    • GET:请求获取指定资源。
    • POST:向服务器提交数据,用于创建资源。
    • PUT:向服务器上传数据,用于更新资源。
    • DELETE:请求删除指定资源。
  4. 状态码: 服务器在响应中返回一个状态码,用于指示请求的结果。常见的状态码有:

    • 200 OK:请求成功。
    • 404 Not Found:请求的资源不存在。
    • 500 Internal Server Error:服务器内部错误。
  5. 请求头和响应头: 请求头和响应头是包含在HTTP请求和响应中的元数据。它们包含有关请求和响应的附加信息,如Content-Type(指示主体部分的数据类型)、User-Agent(客户端信息)等。

  6. 状态保持: HTTP是一种无状态协议,这意味着每个请求和响应都是独立的,服务器不会保留之前请求的状态。为了实现状态保持,通常使用CookieSession机制。

  7. Cookie: Cookie是服务器发送到用户浏览器并保存在用户计算机上的小文本文件。它可以用于存储用户的会话信息、偏好设置等,以实现状态保持。

  8. HTTPS: HTTPS是基于HTTP的安全版本,使用加密来保护数据的传输,确保数据在客户端和服务器之间的安全性和机密性。它使用TLS/SSL协议来加密通信。

  9. 缓存: HTTP支持缓存机制,允许客户端和服务器在一段时间内保存已获取的资源副本,从而提高性能和降低带宽使用。

  10. 持久连接: 为了减少每个请求的开销,HTTP/1.1引入了持久连接(也称为HTTP Keep-Alive),允许在同一连接上发送多个请求和响应。这样可以减少连接的建立和关闭的开销,提高性能。

  11. 管道化: HTTP管道化是一种技术,允许客户端在不等待响应的情况下连续发送多个请求,从而减少了延迟。然而,由于服务器可能会乱序处理请求并引起问题,实际应用不太常见。

  12. Web缓存和代理服务器: Web缓存是位于客户端和原始服务器之间的服务器,它可以存储常用的资源副本,从而减轻原始服务器的负载并提高响应速度。代理服务器充当客户端和服务器之间的中间层,可以用于缓存、安全性、访问控制等。

  13. RESTful API: REST(Representational State Transfer)是一种设计网络应用程序的架构风格。基于REST的API被称为RESTful API,它们使用HTTP方法和状态码来执行资源的创建、获取、更新和删除操作。

  14. JSON和XML: 在HTTP通信中,常用的数据格式包括JSON(JavaScript Object Notation)和XML(eXtensible Markup Language)。它们用于在客户端和服务器之间交换数据,通常作为请求主体或响应主体的内容。

  15. URI和URN: URI(Uniform Resource Identifier)是一种标识资源的字符串,可以是URL的一种形式,用于定位资源。URN(Uniform Resource Name)是一种URI的子集,用于命名资源而不涉及其位置。

  16. Web Socket: Web Socket是一种在单个TCP连接上进行全双工通信的协议,与HTTP不同,它允许服务器主动向客户端推送数据,适用于实时性要求高的应用,如聊天应用、实时协作工具等。17. HTTP/2: HTTP/2是HTTP协议的最新版本,于2015年发布。它引入了许多性能优化,旨在改善页面加载速度和网络效率。HTTP/2支持多路复用,允许在单个连接上同时传输多个请求和响应,减少了连接建立和关闭的开销。此外,它还支持头部压缩、服务器推送等功能,进一步提高了性能。

  17. QUIC: QUIC(Quick UDP Internet Connections)是一个基于UDP协议的传输层协议,旨在替代TCP,提供更低的延迟和更好的性能。QUIC在谷歌提出的基础上发展,已经被纳入HTTP/3标准中。HTTP/3使用QUIC作为传输协议,进一步改善了网络性能。

  18. Web安全: HTTP本身是明文传输的,这意味着传输的数据可以被恶意方窃听和篡改。为了保护数据的机密性和完整性,通常使

  19. HTTP协议里的大致内容 屏幕截图 2023-08-20 202247.png