HTTP(超文本传输协议,Hypertext Transfer Protocol)是一种用于分布式、协作式和超媒体信息系统的应用层协议,它是万维网(World Wide Web)数据通信的基础。HTTP 规定了客户端(如 Web 浏览器)如何从 Web 服务器请求数据,以及服务器如何返回数据给客户端。
HTTP 协议的特点包括:
-
请求/响应模型:客户端向服务器发送请求,服务器处理请求并返回响应。请求和响应都是基于文本的格式,使用 ASCII 编码。
-
无状态性:HTTP 协议本身是无状态的,这意味着服务器不会保存关于客户端的任何信息。每次请求都被视为独立的事务,没有前后关联。为了实现会话管理,通常使用 Cookie 或 Session 技术。
-
可缓存性:HTTP 允许响应被缓存,以减少带宽消耗和提高响应速度。服务器可以通过发送适当的头部信息来指示响应是否应该被缓存。
-
持久连接:HTTP/1.1 引入了持久连接(keep-alive),允许客户端和服务器在完成一次请求/响应后保持 TCP 连接打开,这样后续的请求可以复用这个连接,减少握手开销。
-
管道化:在 HTTP/1.1 中,客户端可以在等待前一个响应的同时发送多个请求,这称为管道化(pipelining),可以减少延迟。
-
请求方法:HTTP 定义了多种请求方法,最常见的是 GET 和 POST。GET 方法用于请求资源,而 POST 方法通常用于提交数据给服务器处理。
-
多媒体类型:HTTP 支持多种多媒体类型(MIME 类型),可以传输文本、图像、音频、视频等多种格式的数据。
HTTP 的后续版本,如 HTTP/2 和 HTTP/3,引入了二进制格式、多路复用连接、头部压缩等改进,提高了性能和效率。这些新版本仍然遵循基本的请求/响应模型,但对底层的通信机制进行了优化。
标签:Web,HTTP,请求,响应,服务器,客户端 From: https://www.cnblogs.com/BlogsOfZyj/p/18349908