上一篇: XMLHttpRequest对象

下一篇: 数据格式

HTTP 请求和响应

什么是HTTP协议?

HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种应用层协议,其主要功能是规定客户端与服务器之间如何进行数据交换。HTTP基于TCP/IP协议工作,采用请求-响应模式进行通信。

请求方法

HTTP定义了一系列请求方法来表示对资源的不同操作。以下是常见的HTTP请求方法:

  • GET:从服务器检索信息。GET请求通常用于获取页面内容、查询数据等。
  • POST:向服务器提交数据。POST请求常用在表单提交、上传文件等场景。
  • PUT:更新服务器上的资源,需要提供完整的数据。
  • DELETE:从服务器删除指定的资源。
  • HEAD:类似于GET请求,但只返回响应头部,不返回实际数据。可用于测试连接或获取资源元信息。
  • PATCH:局部更新服务器上的资源。

HTTP状态码

HTTP状态码是一个三位数字,表示服务器对请求的处理结果。状态码分为五类,根据第一个数字可以判断其大致含义:

  • 1xx(临时响应):请求已接收,需要继续处理。
  • 2xx(成功):请求已成功处理。
  • 3xx(重定向):需要进一步操作以完成请求。
  • 4xx(客户端错误):请求包含错误语法或无法完成。
  • 5xx(服务器错误):服务器在处理请求的过程中发生了错误。

以下是一些常见的HTTP状态码:

  • 200 OK:请求成功。
  • 201 Created:请求已成功,且服务器已创建了新的资源。
  • 204 No Content:请求成功,但没有内容返回。
  • 400 Bad Request:客户端请求的语法错误,服务器无法理解。
  • 401 Unauthorized:请求要求用户的身份认证。
  • 403 Forbidden:服务器理解请求客户端的请求,但是拒绝执行此请求。
  • 404 Not Found:服务器找不到请求的资源。
  • 500 Internal Server Error:服务器内部错误。

请求头与响应头

HTTP请求和响应除了包含实际的数据(也称为消息主体)外,还有一些描述性的元数据,称为请求头和响应头。它们用于控制请求和响应的行为、传递附加信息等。

常见请求头:

  • Accept:指定客户端可以接受的数据类型。
  • Accept-Encoding:指定客户端支持的压缩格式。
  • Authorization:提交用户认证信息。
  • Cache-Control:指定缓存策略。
  • Content-Length:指定请求主体的长度。
  • Content-Type:指定请求主体的数据类型。
  • User-Agent:提供有关客户端(浏览器、操作系统等)的信息。

常见响应头:

  • Allow:列出服务器支持的请求方法。
  • Cache-Control:指定缓存策略。
  • Content-Encoding:指定响应内容采用的压缩格式。
  • Content-Length:指定响应主体的长度。
  • Content-Type:指定响应主体的数据类型。
  • Expires:指定响应的过期时间。
  • Set-Cookie:设置Cookie。

结束语

本教程介绍了HTTP请求和响应的基本概念和常见元素,包括协议、请求方法、状态码、请求头与响应头等。