HTTP必知必会

153 阅读5分钟

HTTP 请求方法(Request Method)

主要有以下几种常见的值:

  1. GET:请求指定的资源。一般用于获取数据,不会对服务器上的资源造成影响。

  2. POST:向指定的资源提交数据,通常用于提交表单或上传文件。会对服务器上的资源产生影响,可能创建或更新资源。

  3. PUT:更新指定的资源,通常用于替换资源的当前表示。如果资源不存在,则可能创建一个新资源。

  4. DELETE:请求删除指定的资源。

  5. HEAD:与 GET 方法类似,但服务器只返回响应头,而不返回实际内容。通常用于获取元信息。

  6. OPTIONS:请求服务器支持的HTTP方法,通常用于跨域请求的预检。

  7. PATCH:部分更新指定的资源,仅发送要更改的数据,而不是整个资源。 (补丁)

  8. CONNECT:建立一个到目标资源的网络连接,常用于 SSL 加密。 (SSL 加密, http 的加密, https = http + ssl)

  9. TRACE:回显服务器收到的请求,用于诊断。

一般用的最多的是 GETPOST

HTTP 请求头(Request Headers)

常用的 HTTP 请求头(Request Headers)包括以下几种,它们用于提供有关客户端请求的附加信息:

  1. User-Agent:包含发起请求的客户端软件的信息,例如浏览器类型和版本。

  2. Accept:指示客户端可以处理的内容类型,如 text/htmlapplication/json 等。

  3. Content-Type:请求体的媒体类型,指示发送的数据格式,如 application/jsonapplication/x-www-form-urlencoded。最常用的就是 application/json

  4. Content-Length:请求体的字节长度,用于告诉服务器请求体的大小。

  5. Cookie:包含客户端存储的所有 Cookie 信息,用于保存登录状态等。

HTTP 状态码 ( Status Code )

用于表示服务器对请求的处理结果,常用的状态码及其作用如下:

状态码范围

  • 100-199:信息性状态码,指示请求接收中。
  • 200-299:成功状态码,表示请求成功。
  • 300-399:重定向状态码,表示客户端需要采取进一步操作。
  • 400-499:客户端错误状态码,表示请求存在问题。
  • 500-599:服务器错误状态码,表示服务器处理请求时出错。

1xx (信息性状态码)

  • 100 Continue:指示客户端继续请求,通常在请求体较大时使用。

2xx (成功状态码)

  • 200 OK:请求成功,返回所请求的数据。

3xx (重定向状态码)

  • 301 Moved Permanently:请求的资源已永久移动到新位置,通常使用新的 URL。
  • 302 Found:请求的资源临时被移动到新位置。
  • 304 Not Modified:资源未被修改,客户端可以使用缓存版本。

4xx (客户端错误状态码)

  • 400 Bad Request:请求无效,服务器无法理解。
  • 401 Unauthorized:请求未授权,需提供身份验证。
  • 403 Forbidden:服务器拒绝请求,客户端没有权限访问。
  • 404 Not Found:请求的资源不存在。

5xx (服务器错误状态码)

  • 500 Internal Server Error:服务器内部错误,无法完成请求。一般可能是后端代码有问题报错了
  • 502 Bad Gateway:作为网关或代理的服务器收到无效响应。
  • 503 Service Unavailable:服务器暂时无法处理请求,通常由于过载或维护。

这些状态码帮助客户端理解请求的处理结果以及接下来的操作。

HTTP 响应头(Response Headers)

常见的 HTTP 响应头(Response Headers)包括以下几种,主要用于提供有关响应的附加信息:

重点关注前面两个重点

  1. Status:HTTP 状态行的状态码和状态描述,例如 200 OK

  2. Content-Type:响应体的媒体类型,指示数据的格式,如 text/htmlapplication/json

  3. Content-Length:响应体的字节长度,指示数据的大小。

  4. Content-Encoding:指示响应体的内容编码方式,例如 gzipdeflate

  5. Cache-Control:指定缓存策略,控制缓存行为,例如 no-cachemax-age

  6. Expires:指示响应的过期时间,通常用于缓存控制。

  7. Last-Modified:指示响应内容的最后修改时间,通常用于缓存比较。

  8. ETag:用于缓存机制,提供响应内容的版本标识符。

  9. Set-Cookie:用于向客户端设置 Cookie,以便后续请求中发送。

  10. Location:在重定向响应中指示新的 URL 地址。

  11. Server:提供服务器软件的信息,例如服务器的类型和版本。

  12. Access-Control-Allow-Origin:在 CORS 中用于指定允许哪些域访问资源。

  13. WWW-Authenticate:指示客户端需要提供的身份验证信息,通常用于受保护的资源。

这些响应头有助于客户端理解服务器的响应,处理缓存、身份验证和数据格式等方面的信息。

用前端开发者工具查看请求

image.png

查看前端请求参数 (入参)

GET

1733564017437.jpg

POST

image.png

查看后端响应 (出参)

json格式的数据在PreviewResponse都可以看到,

Preview方便查看层级关系, 可以展开/收起

image.png

Response方便全部复制

image.png