走进 HTTP 协议 | 青训营笔记

2024-05-21 15:34:54 浏览数 (1)

HTTP是什么

HTTP(Hypertext Transfer Protocol)是一种用于在Web浏览器和Web服务器之间传输数据的协议,是一个客户端-服务器协议,客户端向服务器发送HTTP请求,服务器则返回HTTP响应。

HTTP协议是基于TCP/IP协议栈的应用层协议,定义了客户端和服务器之间的通信规则。HTTP协议的主要特点是简单、灵活、可扩展和无状态;HTTP使用URL(Uniform Resource Locator)来定位Web资源,使用HTTP方法(如GET、POST、PUT、DELETE等)来描述对资源的操作。

HTTP协议的工作流程通常如下:

  1. 客户端向服务器发送HTTP请求,请求包括请求方法、URL、HTTP版本、请求头等信息。
  2. 服务器接收到请求后,根据请求信息进行处理,并返回HTTP响应,响应包括状态码、响应头、响应正文等信息。
  3. 客户端接收到HTTP响应后,根据响应信息进行处理,通常是解析响应正文并显示在浏览器中。

HTTP协议是Web应用程序的基础,支持各种Web应用程序,如浏览器、Web服务、Web API等。

HTTP状态码

由Web服务器向用户代理(例如浏览器)返回的响应的三位数字代码

常见的HTTP状态码及其含义:

  • 200 OK:请求成功,服务器正常返回页面;
  • 301 Moved Permanently:永久重定向,请求的URL被永久转移到新的URL; 301 永久搬家
  • 302 Found:临时重定向,请求的URL被临时转移到新的URL; 302 找到:临
  • 304 Not Modified:未修改,客户端缓存的资源是最新的,服务器返回此状态码表示资源未被修改,可直接使用客户端缓存的版本; 304 未修改:未
  • 400 Bad Request:请求错误,服务器无法理解请求的格式,可能是参数错误或者缺少必要的参数;
  • 401 Unauthorized:未授权,请求需要用户身份验证,但是用户未提供有效的身份验证信息;
  • 403 Forbidden:禁止访问,服务器拒绝请求,可能是权限不足或者访问资源被禁止; 403 禁止:禁止
  • 404 Not Found:未找到,请求的资源不存在;
  • 500 Internal Server Error:服务器内部错误,服务器遇到错误,无法完成请求;
  • 503 Service Unavailable:服务不可用,服务器暂时无法处理请求,可能是过载或者维护中。

HTTP请求头

客户端向服务器发送请求时,携带的附加信息

常用的HTTP请求头:

  • Accept:指定客户端能够接收的内容类型;
  • Accept-Encoding:指定客户端能够接受的内容编码;
  • Accept-Language:指定客户端能够接受的自然语言;
  • Cache-Control:指定请求和响应的缓存行为;
  • Connection:指定连接类型,如 keep-alive 或 close;
  • Content-Length:指定请求体的长度,以字节为单位;
  • Content-Type:指定请求体的类型; 内容类型:指定
  • Host:指定请求的主机名和端口号;
  • User-Agent:指定客户端的浏览器类型和版本号。

HTTP响应头

服务器向客户端返回响应时,携带的附加信息。、

常用的HTTP响应头:

  • Cache-Control:指定响应的缓存行为;
  • Content-Encoding:指定响应的内容编码; 内容编码:指定
  • Content-Length:指定响应体的长度,以字节为单位; 内容长度:指定
  • Content-Type:指定响应体的类型; 内容类型:指定
  • Date:指定响应的日期和时间;
  • ETag:指定响应内容的实体标签,用于缓存控制;
  • Expires:指定响应的过期时间;
  • Last-Modified:指定响应内容的最后修改时间; 最后修改:指定
  • Server:指定服务器的软件名称和版本号。

0 人点赞