http知识总结


layout: '''http'
title: 知识整理'
date: 2019-06-09 17:07:20
tags:

简介

超文本传输​​协议(HTTP)是用于传输诸如HTML的超媒体文档的应用层协议。它被设计用于Web浏览器和Web服务器之间的通信,但它也可以用于其他目的.HTTP是无状态协议,意味着服务器不会在两个请求之间保留任何数据(状态).

http 首部

HTTP 消息首部被用来描述资源信息,或是客户端和服务器的行为。

http 请求方法

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

请求方法 说明 总结
GET GET方法请求一个指定资源的表示形式. 使用GET的请求应该只被用于获取数据 请求数据 (查)
HEAD HEAD方法请求一个与GET请求的响应相同的响应,但没有响应体 请求数据 木有响应体
POST POST方法用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用 提交数据 (增,改)
PUT PUT方法用请求有效载荷替换目标资源的所有当前表示 和POST不同之处在于PUT是幂等的
OPTIONS OPTIONS方法用于描述目标资源的通信选项。 询问浏览器支持哪些方法
DELETE DELETE方法删除指定的资源。 删除数据 (删)
CONNECT CONNECT方法建立一个到由目标资源标识的服务器的隧道。 开启一个客户端与所请求资源之间的双向沟通的通道。
TRACE TRACE方法沿着到目标资源的路径执行一个消息环回测试。 浏览器支持程度未知
PATCH PATCH方法用于对资源应用部分修改。 修改数据 (改) 非幂等

HTTP 状态返回码

  1. 信息响应
状态码 英文名称 说明 总结
100 Continue 继续。客户端应继续其请求 -
101 Switching Protocols 切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议 换协议
102 Processing 此代码表示服务器已收到并正在处理该请求,但没有响应可用。 朕知道了
103 Early Hints 此状态代码主要用于与Link 链接头一起使用,以允许用户代理在服务器仍在准备响应时开始预加载资源。 预加载
  1. 成功响应
状态码 英文名称 说明 总结
200 Ok 请求成功。 -
201 Created 该请求已成功,并因此创建了一个新的资源。这通常是在PUT请求之后发送的响应。 put成功
202 Accepted 请求已经接收到,但还未响应,没有结果。意味着不会有一个异步的响应去表明当前请求的结果,预期另外的进程和服务去处理请求,或者批处理。 朕知道了
203 Non-Authoritative Information 服务器已成功处理了请求,但返回的实体头部元信息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝。 非授权信息。
204 No Content 服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档 用以前的
205 Reset Content 服务器成功处理了请求,且没有返回任何内容。但是与204响应不同,返回此状态码的响应要求请求者重置文档视图。 重置表单
206 Partial Content 服务器成功处理了部分 GET 请求 部分内容
  1. 重定向
状态码 英文名称 说明 总结
300 Multiple Choice 请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 多种选择
301 Moved Permanently 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一。 永久重定向
302 Found 请求的资源现在临时从不同的 URI 响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。 临时重定向
303 See Other 对应当前请求的响应可以在另一个 URI 上被找到,而且客户端应当采用 GET 的方式访问那个资源。 查看其它地址
304 Not Modified 如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。304 响应禁止包含消息体,因此始终以消息头后的第一个空行结尾。 未修改
305 Use Proxy 被请求的资源必须通过指定的代理才能被访问。 这个api快凉了
306 Unused 已经被废弃的HTTP状态码 已经凉了
307 Temporary Redirect 临时重定向。与302类似。使用GET请求重定向 302了解一下
  1. 客户端响应
状态码 英文名称 说明 总结
400 Bad Request 1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。2、请求参数有误。 服务器表示不懂你
401 Unauthorized 请求要求用户的身份认证 要认证的,兄die
402 Payment Required 此响应码保留以便将来使用,创造此响应码的最初目的是用于数字支付系统,然而现在并未使用。 666
403 Forbidden 服务器已经理解请求,但是拒绝执行它。 朕知道了,但朕懒得理你
404 Not Found 请求失败,请求所希望得到的资源未被在服务器上发现 久仰久仰
405 Method Not Allowed 客户端请求中的方法被禁止。 方法不行呀
406 Not Acceptable 请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体。 臣妾做不到啊
407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权 请联系我的律师
408 Request Timeout 服务器等待客户端发送的请求时间过长,超时 等的花都谢了
409 Conflict 服务器完成客户端的PUT请求是可能返回此代码,服务器处理请求时发生了冲突 不好,有冲突
410 Gone 被请求的资源在服务器上已经不再可用,而且没有任何已知的转发地址。 死了这条心吧
411 Length Required 服务器拒绝在没有定义 Content-Length 头的情况下接受请求 没有Content-Length,不好意思,我们不认识
412 Precondition Failed 服务器在验证在请求的头字段中给出先决条件时,没能满足其中的一个或多个。 不过门槛
413 Payload Too Large 服务器拒绝处理当前请求,因为该请求提交的实体数据大小超过了服务器愿意或者能够处理的范围。 数据辣鸡,不处理
414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理。 URI 辣鸡,不处理
415 Unsupported Media Type 对于当前请求的方法和所请求的资源,请求中提交的实体并不是服务器中所支持的格式,因此请求被拒绝。。 不支持,不处理
416 Requested Range Not Satisfiable 如果请求中包含了 Range 请求头,并且 Range 中指定的任何数据范围都与当前资源的可用范围不重合,同时请求中又没有定义 If-Range 请求头,那么服务器就应当返回416状态码。 请求的范围无效
417 Expectation Failed 此响应代码意味着服务器无法满足Expect请求标头字段指示的期望值。 期望太高
418 I'm a teapot 服务器拒绝尝试用 “茶壶冲泡咖啡”。 我是茶壶,HTCPCP服务器是一个茶壶
  1. 服务端响应
状态码 英文名称 说明 总结
500 Internal Server Error 服务器遇到了不知道如何处理的情况。 服务器懵逼
501 Not Implemented 此请求方法不被服务器支持且无法被处理。只有GET和HEAD是要求服务器支持的,它们必定不会返回此错误代码。 不支持
502 Bad Gateway 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应。 不是胶水啊,喂
503 Service Unavailable 常见原因是服务器因维护或重载而停机。 请注意,与此响应一起,应发送解释问题的用户友好页面。 请求太突然,服务器没有准备好处理请求
504 Gateway Time-out 充当网关或代理的服务器,未及时从远端服务器获取请求 网关的锅
505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理。 http版本不支持

参考

原文地址:https://www.cnblogs.com/renbo/p/10994564.html