HTTP/2 比 HTTP/1 强在哪?
804
2022-05-30
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
HTTP TCP/IP
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。