[HTTP][状态码和请求方式][二][学习笔记]

举报
John2021 发表于 2022/05/22 06:45:14 2022/05/22
【摘要】 1.状态码HTTP响应状态码表示特定HTTP请求是否成功完成。有五种类型 1.1信息响应(100-199)100 Continue这个临时响应表明,所有内容是可行的,客户端应继续请求,如果已经完成则忽略。101 Switching Protocols响应客户端的Upgrade请求头发送的,表明服务器即将切换的协议。103 Early Hints主要用于与Link链接头一起使用,允许用户代理...

1.状态码

HTTP响应状态码表示特定HTTP请求是否成功完成。有五种类型

1.1信息响应(100-199)

  • 100 Continue
    这个临时响应表明,所有内容是可行的,客户端应继续请求,如果已经完成则忽略。
  • 101 Switching Protocols
    响应客户端的Upgrade请求头发送的,表明服务器即将切换的协议。
  • 103 Early Hints
    主要用于与Link链接头一起使用,允许用户代理在服务器准备响应阶段时开始预加载资源

1.2.成功响应(200-299)

  • 200 OK
    请求成功,具体指HTTP方法:
    GET: 资源已被提取并在消息正文中传输。
    HEAD: 实体标头位于消息正文中。
    PUT or POST: 描述动作结果的资源在消息体中传输。
    TRACE: 消息正文包含服务器收到的请求消息。
  • 201 Created
    请求成功,并因此创建了一个新的资源。这通常是在POST请求后返回的响应。
  • 202 Accepted
    请求已经接收到,但未响应,没结果。意味着不会有一个异步的响应表明当前请求的结果,预期另外的进程和服务去处理请求或者批处理。
  • 203 Non-Authoritative Information
    服务器成功处理请求,但返回实体头部元信息不在原始服务器上有效的确定集合,而是来自本地或者第三方拷贝。当前的信息可能是原始版本子集或者超集。例如,包含资源的元数据可能导致原始服务器知道元信息的超集。使用此状态码不是必须的,而且只有在响应不使用此状态码便会返回200 OK的情况下才是合适的。
  • 204 No Content
    对于该请求没有的内容可发送,但头部字段可能有用。用户代理可能会用此时请求头部信息来更新原来资源的头部缓存字段。
  • 205 Reset Content
    告诉用户代理重置发送此请求的文档。
  • 206 Partial Content
    当从客户端发送Range范围标头以只请求资源的一部分时,将使用此响应代码。

1.3.重定向消息(300-399)

  • 300 Multiple Choice
    请求拥有不止一个响应。用户应当从中选择一个。
  • 301 Moved Permanently
    请求资源的URL已永久更改。在响应中给出了新的URL。
  • 302 Found
    此响应代码表示所请求资源的URI已暂时更改。
  • 303 See Other
    服务器发送此响应,以指示客户端通过一个GET请求在另一个URI中获取所请求的资源。
  • 304 Not Modified
    这是用于缓存的目的。它告诉客户端响应还没有被修改,因此客户端可以继续使用相同的缓存版本的响应。
  • 307 Temporary Redirect
    服务器发送此响应,以指示客户端使用在前一个请求中使用的相同方法在另一个URI上获取所请求的资源。这与302 FoundHTTP响应代码具有相同的语义,但用户代理 不能 更改所使用的HTTP方法:如果在第一个请求中使用了POST,则在第二个请求中必须使用POST
  • 308 Permanent Redirect
    这意味着资源现在永久位于由Location: HTTP Response 标头指定的另一个 URI。 这与 301 Moved Permanently HTTP 响应代码具有相同的语义,但用户代理不能更改所使用的 HTTP 方法:如果在第一个请求中使用 POST,则必须在第二个请求中使用 POST。

1.4.客户端错误响应(400-499)

  • 400 Bad Request
    客户端错误,服务器无法或不会处理请求。
  • 401 Unauthorized
    客户端必须对自身进行身份验证才能获得请求的响应。
  • 403 Forbidden
    客户端没有访问内容的权限。与401 Unauthorized不同,服务器知道客户端的身份。
  • 404 Not Found
    服务器找不到请求的资源。在浏览器中意味着无法识别URL。在API中意味着端点有效,但资源本身不存在。服务器也可以发送此响应,而不是403 Forbidden,以向未经授权的客户端隐藏资源的存在。
  • 405 Method Not Allowed
    服务器知道请求方法,但目标资源不支持该方法。例如,API可能不允许调用DELETE来删除资源。
  • 406 Not Acceptable
    当web服务器在执行服务端驱动型内容协商机制后,没有发现任何符合用户代理给定标准的内容时,就会发送此响应。
    服务端驱动型内容协商机制:在 HTTP 协议中,内容协商是这样一种机制,通过为同一 URI 指向的资源提供不同的展现形式,可以使用户代理选择与用户需求相适应的最佳匹配(例如,文档使用的自然语言,图片的格式,或者内容编码形式)。
  • 407 Proxy Authentication Required
    类似于 401 Unauthorized 但是认证需要由代理完成.。
  • 408 Request Timeout
    此响应由一些服务器在空闲连接上发送,即使客户端之前没有任何请求。这意味着服务器想关闭这个未使用的连接。由于现在浏览器都使用HTTP预连接机制来加速上网,所以这种响应很多使用。
  • 409 Conflict
    当请求与服务器的当前状态冲突时,将发送此响应。
  • 410 Gone
    当请求的内容已从服务器中永久删除且没有转发地址时,将发送此响应。
  • 411 Length Required
    服务端拒绝该请求因为 Content-Length 头部字段未定义但是服务端需要它.
  • 412 Precondition Failed
    客户端在其头文件中指出了服务器不满足的先决条件。
  • 413 Payload Too Large
    请求实体大于服务器定义的限制。服务器可能会关闭连接,或在标头字段后返回重试Retry-After。
  • 414 URI Too Long
    客户端请求的URI比服务器愿意接收的长度长。
  • 415 Unsupported Media Type
    服务器不支持请求数据的媒体格式,因此服务器拒绝请求。
  • 416 Range Not Satisfiable
    无法满足请求中Range标头字段指定的范围。该范围可能超出了目标URI数据的大小。
  • 417 Expectation Failed
    此响应代码表示服务器无法满足Expect请求标头字段所指示的期望。
  • 418 I’m a teapot
    服务端拒绝用茶壶煮咖啡。
    茶壶煮咖啡是一个IETF(互联网工程任务组)在1998年愚人节时发布的一个笑话RFC。称为超文本咖啡壶控制协议。
  • 426 Upgrade Required
    服务器拒绝使用当前协议执行请求,但在客户端升级到其他协议后可能愿意这样做。
  • 429 Too Many Requests
    用户在给定的时间内发送了太多请求(“限制请求速率”)
  • 431 Request Header Fields Too Large
    服务器不愿意处理请求,因为其头字段太大。在减小请求头字段的大小后,可以重新提交请求。

1.5.服务端错误响应(500-599)

  • 500 Internal Server Error
    服务器遇到了不知道如何处理的情况。
  • 501 Not Implemented
    服务器不支持请求方法,因此无法处理。服务器需要支持的唯二方法(因此不能返回此代码)是 GET and HEAD.
  • 502 Bad Gateway
    表明服务器作为网关需要得到一个处理这个请求的响应,但得到一个错误的响应。
  • 503 Service Unavailable
    服务器没有准备好处理请求。常见原因是服务器因维护或重载而停机。
  • 504 Gateway Timeout
    当服务器充当网关且无法及时获得响应时,会给出此错误响应。
  • 505 HTTP Version Not Supported
    服务器不支持请求中使用的HTTP版本。
  • 506 Variant Also Negotiates
    服务器存在内部配置错误:所选的变体资源被配置为参与透明内容协商本身,因此不是协商过程中的适当终点。
  • 510 Not Extended
    服务器需要对请求进行进一步扩展才能完成请求。
  • 511 Network Authentication Required
    指示客户端需要进行身份验证才能获得网络访问权限。

2.HTTP请求方式

HTTP定义了一组请求方法,以表明要对给定资源执行的操作。指示针对给定资源要执行的期望动作。虽然他们也可以是名词, 但这些请求方法有时被称为HTTP动词。

2.1.GET

GET方法请求一个指定资源的表示形式,使用GET的请求应该只被用于获取数据。

GET /index.html

2.2.HEAD

HEAD方法请求一个与GET请求的响应相同的响应,但没有响应体。

HEAD /index.html

2.3.POST

POST方法用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用。

POST /test

2.4.PUT

PUT方法用请求有效载荷替换目标资源的所有当前表示。

PUT /new.html HTTP/1.1

2.5.DELETE

DELETE方法删除指定的资源。

DELETE /file.html HTTP/1.1

2.6.CONNECT

CONNECT方法建立一个到由目标资源标识的服务器的隧道。

CONNECT www.example.com:443 HTTP/1.1

2.7.OPTIONS

OPTIONS方法用于描述目标资源的通信选项。

OPTIONS /index.html HTTP/1.1
OPTIONS * HTTP/1.1

2.8.TRACE

TRACE方法沿着到目标资源的路径执行一个消息环回测试。

TRACE /index.html

2.9.PATCH

PATCH方法用于对资源应用部分修改。

PATCH /file.txt HTTP/1.1
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。