首页
学习
活动
专区
圈层
工具
发布

小结HTTP状态码

image.png 作为一个web开发工程师,我们平时都会和诸如200, 304, 404, 501等状态码打交道,那么它们是什么意思呢?...备注:3xxs类中的304是个奇葩,其不属于重定向信息提示,这个后面会讲到 HTTP状态码大体的内容已经了解了,但是在具体的工作中,要用到具体的状态码,我们下面来展开说明下各自的一些状态码和工作中常用到的那些状态码...意味着不会有一个异步的响应去表明当前请求的结果,预期另外的进程和服务去处理请求,或者批处理。 204 No Content:服务器成功处理了请求,但不需要返回任何实体内容,并且希望返回更新了的元信息。...303 See Other:对当前的请求的响应可以在另一个URI上被找到,而且客户端应该采用GET的方式访问那个链接。这个方法的存在主要是为了允许由脚本激活的POST请求输出重定向到一个新的资源。...备注:这里要注意的是422,别请求链接一出错,就屁颠屁颠的找后端,先看下后端给过来的API文档中,要传的字段是否都准确跟上了。?

1.4K20

HTTP接口设计

返回的实体中应该包含当前状态的信息,以及指向处理状态监视器或状态预测的指针,以便客户端能够获取最新状态。...Allow 头,内容为对该资源有效的 HTTP 方法 406 Not Acceptable : 服务器不支持客户端请求的内容格式,但响应里会包含服务端能够给出的格式的数据,并在 Content-Type...501 Not Implemented : 服务器不支持当前请求所需要的某个功能。 502 Bad Gateway : 作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。...以及对文中 `state` 参数的介绍的修正 JSON Web Token,一种 Token 的生成标准 Json Web Tokens: Introduction Json Web Tokens:...如果资源没有进行过修改,那么就可以响应 304 Not Modified 并且不在响应实体中返回任何内容。

2.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    HTTP 304状态码的详细讲解

    大家好,又见面了,我是你们的朋友全栈君。 HTTP 304状态码的详细讲解 304状态码或许不应该认为是一种错误,而是对客户端有缓存情况下服务端的一种响应。...你可以在Fiddler中的网络会话(Web Sessions)列表中选择一条响应为HTTP/304的会话,然后按下U键.Fiddler将会无条件重发(Unconditionally reissue)这个请求...HTTP 协议规格说明定义ETag为“被请求变量的实体值” 。 另一种说法是,ETag是一个可以与Web资源关联的记号(token)。典型的Web资源可以一个Web页,但也可能是JSON或XML文档。...服务器单独负责判断记号是什么及其含义,并在HTTP响应头中将其传送到客户端 asp.net web api的实现代码如下: // GET /images/001.png [HttpGet] public...301(永久移动) 请求的网页已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。

    15.9K21

    HTTP状态码最全汇总(不求人宝典)

    除非响应的是一个HEAD请求,否则服务器就应该返回一个解释当前错误状况的实体,以及这是临时的还是永久性的状况。这些状态码适用于任何请求方法。浏览器应当向用户显示任何包含在此类错误响应中的实体内容。...除非这是一个HEAD请求,否则服务器应当包含一个解释当前错误状态以及这个状况是临时的还是永久的解释信息实体。浏览器应当向用户展示任何在当前响应中被包含的实体。...304 304 Not Modified 请求资源与本地缓存相同,未修改 305 305 Use Proxy 必须通过代理访问 306 306 (已废弃)Switch Proxy (已废弃)请切换代理...这个错误代码为 IIS 6.0 所专用 402 402 Payment Required - 403 403 Forbidden 禁止访问 403 **** 对 Internet 服务管理器 的访问仅限于...404 404 Not Found 请求的内容未找到或已删除 404.1 **** 无法在所请求的端口上访问 Web 站点。 404.2 **** Web 服务扩展锁定策略阻止本请求。

    2.4K20

    彻底弄懂浏览器缓存策略

    服务器会根据Request Header中的一些字段来判断是否命中协商缓存。如果命中,服务器会返回304响应,但是不会携带任何响应实体,只是告诉浏览器可以直接从浏览器缓存中获取这个资源。...304响应,否则将重新返回资源。...ETag与If-None-Match是一对报文头,属于http 1.1。ETag是一个响应首部字段,它是根据实体内容生成的一段hash字符串,标识资源的状态,由服务端产生。...如果请求资源时在请求首部加上这个字段,值为之前服务器端返回的资源上的ETag,则当且仅当服务器上没有任何资源的ETag属性值与这个首部中列出的时候,服务器才会返回带有所请求资源实体的200响应,否则服务器会返回不带实体的...304响应。

    2.9K30

    http状态码汇总(全)

    203 服务器已成功处理了请求,但返回的实体头部元信息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝。...使用此状态码不是必须的,而且只有在响应不使用此状态码便会返回200 OK的情况下才是合适的 204 服务器成功处理了请求,但不需要返回任何实体内容。 ...过长,无法处理 415 请求格式不支持web 416 客户端请求的范围无效 417 服务器无法满足Expect的请求头信息 5**(服务器错误) 500 服务器内部错误,无法完成请求 服务器...emo 501 服务器不支持请求的功能,无法完成请求 502 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应 503 由于超载或系统维护,服务器暂时的无法处理客户端的请求...重点要知道200 304 404 500这几个常见状态码的使用,并了解304协商缓存的配置,下期专门讲一下304

    74100

    四、《图解HTTP》- 状态码

    如果使用强缓存校验器,则响应不能包含实体标头,如果304响应没有指示条件情况下则进行重复请求,如果304响应包含缓存条目,则同样需要按照缓存条目更新到本地。...、构造不良的数据或无效的数据。...请求的 Range 标头字段中没有一个范围与所选资源的当前范围重叠,或者由于无效范围或对小范围或重叠范围的请求过多而拒绝了请求的范围集。...如果使用强缓存校验器,则响应不能包含实体标头,如果304响应没用指示条件情况下则进行重复请求,如果304响应包含缓存条目,则同样需要按照缓存条目更新到本地。416  请求的范围不满足。...请求的 Range 标头字段中没有一个范围与所选资源的当前范围重叠,或者由于无效范围或对小范围或重叠范围的请求过多而拒绝了请求的范围集。

    1.6K10

    http缓存与离线缓存

    如:Last-Modified:GMT 响应 If-Modified-Since 客户端发送收到的last-Modified的时间,让服务器验证,资源没有修改则是304 请求 If-Unmodified-Since...,否则304 If-Match 如果服务器没有匹配上ETag相关资源,则响应412      其他缓存头部 Vary | 向服务器请求时以Vary指定的字段来区分内容是否缓存了 data/age...| 服务器响应时输出资源的最后响应时间(从本地缓存读取的资源不会有变化,也就是cache-control控制),而304的吃响应是有变化的 2....no-transform:传送没有被转换过的实体数据(如:压缩),不知如何验证 only-if-cached:客户端获取缓存(若有),不用向服务器请求, 无缓存则原始请求 cache-extension...private[=fieldName]:客户端可以缓存private响应问,但通常只针对用户,所以cdn、代理不缓存(未能测试出应用场景) no-transform:传送没有被转换过的实体数据(如:压缩

    1.8K70

    HTTP协议概述

    TRACE: 实现沿通向目标资源的路径的消息环回loop-back测试 ,提供了一种实用的debug 机制。 PATCH: 是对PUT方法的补充,用来对已知资源进行局部更新 。...If-Modified-Since: 如果请求的部分在指定时间之后被修改则请求成功,未被修改则返回304代码 If-None-Match: 如果内容未改变返回304代码,参数为服务器先前发送的Etag,...响应头 Accept-Ranges: 表明服务器是否支持指定范围请求及哪种类型的分段请求 Age: 从原始服务器到代理缓存形成的估算时间 Allow: 对某网络资源的有效的请求行为,不允许则返回405...: 文件传输编码 Vary: 告诉下游代理是使用缓存响应还是从原始服务器请求 Via: 告知代理客户端响应是通过哪里发送的 Warning: 警告实体可能存在的问题 WWW-Authenticate:...Gateway: 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应 503 Service Unavailable: 由于超载或系统维护,服务器暂时的无法处理客户端的请求

    93420

    HTTP和HTTPS是什么 二者区别是什么

    HTTP简介 HTTP(超文本传输协议)是网络上最为广泛的传输协议,被用于在web浏览器和网站服务器之间的传输协议。HTTP是一个简单的请求-响应协议,它通常运行在TCP之上。...请求报文格式如下: 请求行 - 通用信息头 - 请求头 - 实体头 - 报文主体 (为了图方便,图是用excel画的所以有一道线) 应答报文格式如下: 状态行 - 通用信息头 - 响应头...也就是指定了服务器处理请求之后响应的内容。 POST 传输实体主体POST方法用来传输实体主体。POST与GET的区别之一就是目的不同,二者之间的区别会在文章的最后详细说明。...303 See Other 所请求的页面可在别的url下被找到。 304 Not Modified 未按预期修改文档。...服务器不支持所请求的功能。 502 Bad Gateway 请求未完成。服务器从上游服务器收到一个无效的响应。 502.1 CGI应用程序超时。 502.2 CGI应用程序出错。

    1.1K30

    浏览器缓存机制浅析--HTTP缓存

    no-transform 告知客户端缓存文件时不得对实体数据做任何改变。 only-if-cached 告知(代理)服务器,客户端希望获取缓存的内容(如果有),而不向原来服务器发起请求。...Mar 2016 07:07:52 GMT 该请求首部告诉服务器如果客户端传来的最后修改时间与服务器上的一致,则直接回送304 和响应报头即可。...,在把资源响应给客户端的时候,会在实体首部加上“ETag: 唯一标识符”一起返回给客户端。 客户端会保留该 ETag 字段,并在下一次请求时将其一并带过去给服务器。...在头部加入Cache-Control:Public之后,能够对HTTPS的资源进行缓存,参考《HTTPS的七个误解》) POST请求无法被缓存 HTTP响应头中不包含Last-Modified/Etag...有效 Ctrl+F5 无效 无效 总结 image.png image.png

    1.3K20

    http错误码对照表

    203 正常;部分信息 — 返回的信息只是一部分。 204 正常;无响应 — 已接收请求,但不存在要回送的信息。 3xx 重定向 301 已移动 — 请求的数据具有新的位置且更改是永久的。...#永久移动 302 已找到 — 请求的数据临时具有不同 URI。 #临时移动 303 请参阅其它 — 可在另一 URI 下找到对请求的响应,且应使用 GET 方法检索此响应。...304 未修改 — 未按预期修改文档。 305 使用代理 — 必须通过位置字段中提供的代理来访问请求的资源。 306 未使用 — 不再使用;保留此代码以便将来使用。...404 找不到 — 服务器找不到给定的资源;文档不存在。 407 代理认证请求 — 客户机首先必须使用代理认证自身。 415 介质类型不受支持 — 服务器拒绝服务请求,因为不支持请求实体的格式。...5xx 服务器中出现的错误 500 内部错误 — 因为意外情况,服务器不能完成请求。 501 未执行 — 服务器不支持请求的工具。 502 错误网关 — 服务器接收到来自上游服务器的无效响应。

    3.3K70

    HTTP协议之状态码详解

    状态码501 502 Bad Gateway(网关故障) 代理使用的服务器遇到了上游的无效响应 状态码502 503 Service Unavailable(未提供此服务) 服务器目前无法为请求提供服务...,但过一段时间就可以恢复服务 504 Gateway Timeout(网关超时) 与状态吗408类似, 但是响应来自网关或代理,此网关或代理在等待另一台服务器的响应时出现了超时 505 HTTP Version...403 Forbidden(禁止)   Web客户端发送的请求被Web服务器拒绝了, 如果服务器想说明为什么拒绝请求,可以包含实体的主体部分来对原因进行描述。...413 Request Entity Too Large(请求实体太大)   作用:客户端发送的实体主体部分比服务器能够或者希望处理的要大。  一般情况下我们看不到这个状态码。...502 Bad Gateway(网关故障)   代理使用的服务器遇到了上游的无效响应。     Fiddler本身就是代理服务器。

    2.1K10

    10个有关RESTful API良好设计的最佳实践

    Web API已经在最近几年变成重要的话题,一个干净的API设计对于后端系统是非常重要的。   ...通常我们为Web API使用RESTful设计,REST概念分离了API结构和逻辑资源,通过Http方法GET, DELETE, POST 和 PUT来操作资源。   ...下面是进行RESTful Web API十个最佳实践,能为你提供一个良好的API设计风格。...711的4号司机 5.使用Http头声明序列化格式 在客户端和服务端,双方都要知道通讯的格式,格式在HTTP-Header中指定 Content-Type 定义请求格式 Accept 定义系列可接受的响应格式...– 新的资源已经成功创建 204 – OK – 资源已经成功擅长 304 – Not Modified – 客户端使用缓存数据 400 – Bad Request – 请求无效,需要附加细节解释如 "

    89650

    网站服务器错误代码介绍

    最常见的错误: 404–找不到文件或者目录不存在 403–找不到默认首页 505–服务器内部错误 信息提示(这些状态代码表示临时的响应。...例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求): 301–对象已永久移走,即永久重定向。 302–对象已临时移动。 304–未修改。 307–临时重定向。...这些具体的错误代码在浏览器中显示,但不在IIS日志中显示) 401.1–登录失败 401.2–服务器配置导致登录失败 401.3–由于ACL对资源的限制而未获得授权 401.4–筛选器授权失败...这个错误代码为IIS6.0所专用 404–未找到 404.0–没有找到文件或目录 404.1–无法在所请求的端口上访问Web站点 404.2-Web服务扩展锁定策略阻止本请求 404.3–MIME...这个错误代码为IIS6.0所专用 500.100–内部ASP错误 501–页眉值指定了未实现的配置 502–Web服务器用作网关或代理服务器时收到了无效响应 502.1–CGI应用程序超时 502.2

    4.1K40

    快速了解HTTP协议

    在 2010 年代初期,谷歌在 Chrome 中增加了对其 Web 协议 SPDY 的支持。...HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求,Web服务器根据接收到的请求,会向客户端发送响应信息 注意点 但需要注意几点: HTTP限制每次连接只处理一个请求,服务器处理完客户的请求...有关通用信息头,响应头和实体头方面的具体内容可以参照相关文件 小结如下图: 9种请求方式 HTTP 协议中定义了9种方法来表明对Request-URI指定的资源的不同操作方式,其中HTTP1.0 定义了...也可以利用向Web服务器发送的请求来测试服务器的功能性 PUT:向指定资源位置上传其最新内容 PATCH:是对 PUT 方法的补充,用来对已知资源进行局部更新 DELETE:请求服务器删除 Request-URI...Gateway 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应 503 Service Unavailable 由于超载或系统维护,服务器暂时的无法处理客户端的请求。

    60900

    走进 HTTP 协议 | 青训营笔记

    来描述对资源的操作。...客户端接收到HTTP响应后,根据响应信息进行处理,通常是解析响应正文并显示在浏览器中。 HTTP协议是Web应用程序的基础,支持各种Web应用程序,如浏览器、Web服务、Web API等。...永久重定向,请求的URL被永久转移到新的URL; 301 永久搬家 302 Found:临时重定向,请求的URL被临时转移到新的URL; 302 找到:临 304 Not Modified:未修改,客户端缓存的资源是最新的...,服务器返回此状态码表示资源未被修改,可直接使用客户端缓存的版本; 304 未修改:未 400 Bad Request:请求错误,服务器无法理解请求的格式,可能是参数错误或者缺少必要的参数; 401 Unauthorized...; 内容长度:指定 Content-Type:指定响应体的类型; 内容类型:指定 Date:指定响应的日期和时间; ETag:指定响应内容的实体标签,用于缓存控制; Expires:指定响应的过期时间;

    41210

    浏览器 HTTP 协议缓存机制详解

    后来查了一些资料以及同事亲自验证,总算对这些问题有了个清晰的理解,现在整理出来以备忘。...Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。...若最后修改时间较新,说明资源又被改动过,则响应整片资源内容(写在响应消息包体内),HTTP 200;若最后修改时间较旧,说明资源无新修改,则响应HTTP 304 (无需包体,节省浏览),告知浏览器继续使用所保存的...web服务器收到请求后发现有头If-None-Match 则与被请求资源的相应校验串进行比对,决定返回200或304。 既生Last-Modified何生Etag?...你可能会觉得使用Last-Modified已经足以让浏览器知道本地的缓存副本是否足够新,为什么还需要Etag(实体标识)呢?

    1.8K50

    弱网客户端的福音:节省带宽的利器【ETag】

    总结 1.概览 本文将重点介绍如何在Spring中添加ETag功能、如何使用 curl来验证添加了ETag功能的REST API以及对这些REST API进行集成测试。...2.REST和 ETag 来自Spring官方文档中对ETag特性的描述: ETag(实体标签)是由符合HTTP/1.1的Web服务器返回的HTTP响应头,用于检查给定URL的返回值是否发生变化。...3.使用 curl来验证ETag功能 一个通过客户端和服务器通信来简单地测试ETag特性的操作可以分解为以下步骤: – 首先,客户端发起一个对REST API的调用——响应包括了需要存储的ETag头,以便进一步使用...请求时,会使用If-None-Match头携带上一步保存的ETag值;如果服务器上的资源没有发生变化,那么响应将不会包含任何响应体,并且返回的HTTP状态码将会是304——Not Modified: curl.../resources/1 HTTP/1.1 304 Not Modified ETag: "f88dd058fe004909615a64f01be66a7" – 现在,在检索资源之前,我们将通过执行更新操作来改变检索时返回的响应体

    2.4K20

    JavaEE 要懂的小事:一、图解Http协议

    Web上,服务器和客户端利用HTTP协议进行通信会话。有OOP思想的得出结论:其会话的结构是一个简单的请求/响应序列,即浏览器发出请求和服务器做出响应。...二、应答报文格式如下: 状态行 通用信息头 响应头 实体头 (空行) 报文主体 如图,就是这篇博客响应的内容: 对其中响应报文详解: 1、状态行 HTTP协议版本 + 状态码 + 状态代码的文本描述...4、实体头 Content-Type头:便是接收方实体的介质类型。(这也表示了你的报文主体是什么。) (空行) 5、报文主体 这里就是HTML响应页面了,在截图tab页中的response中可查看。...比如304,在浏览器第一次打开百度时,如图所示: 刷新一下: 这上面的304就证明了 1、304状态码:有些图片和js文件在本地客户端缓存,再次请求后,缓存的文件可以使用。...其中Web应用容器都实现了HTTP协议中的对象,即请求和响应对象。

    54930
    领券