http状态码 订阅
HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774 与 RFC 4918 等规范扩展。所有状态码的第一个数字代表了响应的五种状态之一。所示的消息短语是典型的,但是可以提供任何可读取的替代方案。 除非另有说明,状态码是HTTP / 1.1标准(RFC 7231)的一部分。HTTP状态码的官方注册表由互联网号码分配局(Internet Assigned Numbers Authority)维护。微软互联网信息服务 (Microsoft Internet Information Services)有时会使用额外的十进制子代码来获取更多具体信息,但是这些子代码仅出现在响应有效内容和文档中,而不是代替实际的HTTP状态代码。 展开全文
HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774 与 RFC 4918 等规范扩展。所有状态码的第一个数字代表了响应的五种状态之一。所示的消息短语是典型的,但是可以提供任何可读取的替代方案。 除非另有说明,状态码是HTTP / 1.1标准(RFC 7231)的一部分。HTTP状态码的官方注册表由互联网号码分配局(Internet Assigned Numbers Authority)维护。微软互联网信息服务 (Microsoft Internet Information Services)有时会使用额外的十进制子代码来获取更多具体信息,但是这些子代码仅出现在响应有效内容和文档中,而不是代替实际的HTTP状态代码。
信息
规范定义
RFC 2616
消息端
1字头,2字头,3字头
中文名
HTTP状态码
外文名
HTTP Status Code
HTTP状态码消息
这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应。服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应最后的空行后,服务器将会切换到在Upgrade 消息头中定义的那些协议。只有在切换新的协议更有好处的时候才应该采取类似措施。例如,切换到新的HTTP 版本比旧版本更有优势,或者切换到一个实时且同步的协议以传送利用此类特性的资源。由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。
收起全文
精华内容
下载资源
问答
  • http状态码
    万次阅读 多人点赞
    2020-11-21 14:18:38

    1xx:信息提示

    这类状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。

    HTTP 状态码说明
    100继续。
    101切换协议。

    2xx:成功

    这类状态代码表明服务器成功地接受了客户端请求。

    HTTP 状态码说明
    200确定。客户端请求已成功。
    201已创建。
    202已接受。
    203非权威性信息。
    204无内容。
    205重置内容。
    206部分内容。表明已部分下载了一个文件。可以续传损坏的下载,或者将下载拆分为多个并发的流。
    207多状态(WebDAV)。此消息之前应该还有一条 XML 消息,其中可能包含几个单独的响应代码,具体取决于发出了多少个子请求。

    3xx:重定向

    客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同页面,或通过代理服务器重复该请求。

    HTTP 状态码说明
    301已永久移动。此请求和之后所有的请求都应该转到指定的 URI。
    302对象已移动。对于基于表单的身份验证,此消息通常表示为“对象已移动”。请求的资源临时驻留在不同的 URI。由于重定向有时可能会改变,客户端将来在请求时应该继续使用 RequestURI。只有在 CacheControl 或 Expires 标题字段中指示,此响应才能够缓存。
    304未修改。客户端请求的文档已在其缓存中,文档自缓存以来尚未被修改过。客户端使用文档的缓存副本,而不从服务器下载文档。
    307临时重定向。

    4xx:客户端错误

    发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。

    HTTP 状态码说明
    400错误的请求。
    401访问被拒绝。IIS 定义了几个不同的401错误,用于指示更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在 IIS 日志中显示。详见 401状态码
    403服务器拒绝请求。可以理解为没有权限访问此网站,服务器能够收到请求但拒绝提供服务。IIS 定义了几个不同的403错误,用于指示更为具体的错误原因,详见 403状态码
    404服务器找不到请求的网页。例如,访问网站中不存在的页面,或者原有页面被移走或删除,则可能会出现该状态码。IIS 定义了几个不同的404错误,用于指示更为具体的错误原因,详见 404状态码
    405用来访问本页面的 HTTP 谓词不被允许(方法不被允许)。当客户端向运行 IIS 的服务器发送一个 HTTP 请求,并且该请求包含服务器无法识别的 HTTP 动词时,就会发生此错误。若要解决此问题,请确保客户端的请求使用与 HTTP rfc 兼容的 HTTP 动词。
    406客户端浏览器不接受所请求页面的 MIME 类型。
    407要求进行代理身份验证。
    412前提条件失败。
    413请求实体太大。
    414请求 URI 太长。
    415不支持的媒体类型。
    416无法满足请求的范围。
    417执行失败。
    423锁定的错误。

    401 状态码

    HTTP 状态码说明
    401.1用户名或密码无效导致登录失败。
    401.2服务器配置导致登录失败。
    401.3由于 ACL 对资源的限制而未获得授权。表示存在 NTFS 权限问题。即使您对试图访问的文件具备相应的权限,也可能发生此错误。例如,如果 IUSR 帐户无权访问 C:WinntSystem32Inetsrv 目录,您会看到这个错误。
    401.4筛选器授权失败。
    401.5ISAPI/CGI 应用程序授权失败。
    401.7由 Web 服务器上的 URL 验证策略拒绝访问。这个错误代码为 IIS 6.0 所专用。

    403 状态码

    HTTP 状态码说明
    403.1执行访问被禁止。可能原因:
    • 您没有足够的执行许可。例如,如果试图访问的 ASP 页所在的目录权限设为 “无”,或者,试图执行的 CGI 脚本所在的目录权限为 “只允许脚本”,将出现此错误消息。若要修改执行权限,请在 Microsoft 管理控制台(MMC)中右击目录,然后依次单击 “属性” 和 “目录” 选项卡,确保为试图访问的内容设置适当的执行权限。
    • 您没有将试图执行的文件类型的脚本映射设置为识别所使用的谓词(例如,GET 或 POST)。若要验证这一点,请在 Microsoft 管理控制台中右键单击目录,依次单击 “属性”、“目录” 选项卡和 “配置”,然后验证相应文件类型的脚本映射是否设置为允许所使用的谓词。
    403.2读访问被禁止。验证是否已将 IIS 设置为允许对目录进行读访问。另外,如果您正在使用默认文件,请验证该文件是否存在。
    403.3写访问被禁止。验证 IIS 权限和 NTFS 权限是否已设置以便向该目录授予写访问权。
    403.4要求 SSL。禁用要求安全通道选项,或使用 HTTPS 代替 HTTP 来访问该页面。
    403.5要求 SSL 128。禁用要求128位加密选项,或使用支持128位加密的浏览器以查看该页面。
    403.6IP 地址被拒绝。您已经将服务器配置为拒绝访问您当前的 IP 地址。
    403.7要求客户端证书。您已经将服务器配置为要求提供证书进行客户端身份验证,但是您没有安装有效的客户端证书。
    403.8站点访问被拒绝。您已经为用来访问服务器的域设置了域名限制。
    403.9用户数过多。与该服务器连接的用户数量超过了您设置的连接限制。注意:Microsoft Windows 2000 Professional 和 Windows XP Professional 自动设置了在 IIS 上最多10个连接的限制。您无法更改此限制。
    403.10配置无效。
    403.11密码更改。
    403.12拒绝访问映射表。您要访问的页面要求提供客户端证书。但是,映射到该客户端证书的用户 ID 已经拒绝访问该文件。
    403.13客户端证书被吊销。
    403.14拒绝目录列表。
    403.15超出客户端访问许可。
    403.16客户端证书不受信任或无效。
    403.17客户端证书已过期或尚未生效。
    403.18在当前的应用程序池中不能执行所请求的 URL。这个错误代码为 IIS 6.0 所专用。
    403.19不能为这个应用程序池中的客户端执行 CGI。这个错误代码为 IIS 6.0 所专用。
    403.20Passport 登录失败。这个错误代码为 IIS 6.0 所专用。

    404 状态码

    HTTP 状态码说明
    404.0没有找到文件或目录。
    404.1无法通过请求的端口访问网站。此错误消息表明,试图访问的网站的 IP 地址不接受来自此请求所用端口的请求。
    404.2Web 服务扩展锁定策略阻止本请求。在 IIS 6.0 中,表示 Web 服务扩展列表中已经阻止了该请求。
    404.3MIME 映射策略阻止了此请求。 如果存在下列情况,将出现此问题:
    • 未配置请求的文件扩展名的处理程序映射。
    • 没有为网站或应用程序配置相应的 MIME 类型。

    5xx:服务器错误

    服务器由于遇到错误而不能完成该请求。

    HTTP 状态码说明
    500内部服务器错误。很多服务器端错误都可能导致此错误消息。事件查看器日志包含更详细的错误原因。此外,您可以禁用友好 HTTP 错误消息以便收到详细的错误说明。IIS 定义了几个不同的500错误,用于指示更为具体的错误原因,详见 500状态码
    501页眉值指定了未实现的配置。
    502Web 服务器作为网关或代理服务器时,从上游服务器收到了无效响应。此类错误一般与服务器本身有关(与请求无关)。IIS 定义了几个不同的502错误,用于指示更为具体的错误原因,详见 502状态码
    503目前服务器无法使用,一般是因为服务器超载或停止维护。
    504网关超时。
    505HTTP 版本不受支持。

    500状态码

    HTTP 状态码说明
    500.12应用程序正忙于在 Web 服务器上重新启动。这表示您在 IIS 重新启动应用程序的过程中试图加载 ASP 页。刷新页面后,此消息即会消失。如果刷新页面后,此消息再次出现,可能是防病毒软件正在扫描 Global.asa 文件。
    500.13Web 服务器太忙。
    500.15不允许直接请求 Global.asa。
    500.16UNC 授权凭据不正确。这个错误代码为 IIS 6.0 所专用。
    500.18无法打开 URL 授权存储库。这个错误代码为 IIS 6.0 所专用。
    500.19此文件的数据在元数据库中配置不正确。如果 XML 元数据库在您尝试访问的内容类型中包含无效的配置信息,您就会收到此错误。要解决此问题,请删除或更正无效的配置。此问题通常表示 ScriptMap 元数据库键中存在问题。
    500.100内部 ASP 错误。 如果试图加载的 ASP 页中含有错误代码,将出现此错误消息。若要获得更确切的错误消息,请禁用友好 HTTP 错误消息。默认情况下,只会在默认网站上启用此错误消息。

    502 状态码

    HTTP 状态码说明
    502.1CGI 应用程序超时。
    502.2CGI 应用程序出错。

     

    ------------------------------------------------------------------------
    作者:超级字节码
    来源:CSDN
    原文:https://blog.csdn.net/dgxin_605/article/details/109689773
    版权声明:本文为博主原创文章,转载请附上博文链接!

    ------------------------------------------------------------------------

     

    更多相关内容
  • http状态码

    2017-11-02 10:24:44
    http状态码详解,从100到600状态码,每个状态码的含义
  • HTTP状态码

    2018-01-22 13:31:25
    HTTP状态码HTTP状态码HTTP状态码HTTP状态码HTTP状态码HTTP状态码HTTP状态码HTTP状态码HTTP状态码HTTP状态码HTTP状态码HTTP状态码HTTP状态码HTTP状态码HTTP状态码
  • HTTP状态码大全

    千次阅读 2021-12-10 11:09:35
    http状态码详解

    一、什么是状态码

            HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由 RFC2616 规范定义的 ,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。

    二、状态码类型

            所有状态码的第一个数字代表了响应的五种状态之一,其分类如下:

    HTTP状态码分类
    1xx信息,表示临时响应并需要请求者继续执行操作
    2xx成功,操作被成功接收并处理
    3xx表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向
    4xx客户端错误,请求包含语法错误或无法完成请求
    5xx这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错

    三、状态码详解

    3.1、1xx

    100:(继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。

    101:(切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。

    102:由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。

    3.2、2XX

    200:(成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。

    201:(已创建) 请求成功并且服务器创建了新的资源。

    202:(已接受) 服务器已接受请求,但尚未处理。

    203:(非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。

    204:(无内容) 服务器成功处理了请求,但没有返回任何内容。

    205:(重置内容) 服务器成功处理了请求,但没有返回任何内容。

    206:(部分内容) 服务器成功处理了部分 GET 请求。

    208:(已经报告)一个DAV的绑定成员被前一个请求枚举,并且没有被再一次包括。

    226:(IM Used)服务器已经满足了请求所要的资源,并且响应是一个或者多个实例操作应用于当前实例的结果。

    3.3、3XX

    300:(多种选择) 针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。

    301:(永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。

    302:(临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

    303:(查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。

    304:(未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。

    305:(使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。

    307:(临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

    308:(永久转移)这个请求和以后的请求都应该被另一个URI地址重新发送。307、308和302、301有相同的表现,但是不允许HTTP方法改变。例如,请求表单到一个永久转移的资源将会继续顺利地执行。

    3.4、4XX

    400:(错误请求) 服务器不理解请求的语法。

    401:(未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。

    402:该状态码是为了将来可能的需求而预留的。

    403:(禁止) 服务器拒绝请求。

    404:(未找到) 服务器找不到请求的网页。

    405:(方法禁用) 禁用请求中指定的方法。

    406:(不接受) 无法使用请求的内容特性响应请求的网页。

    407:(需要代理授权) 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理。

    408:(请求超时) 服务器等候请求时发生超时。

    409:(冲突) 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。

    410:(已删除) 如果请求的资源已永久删除,服务器就会返回此响应。

    411:(需要有效长度) 服务器不接受不含有效内容长度标头字段的请求。

    412:(未满足前提条件) 服务器未满足请求者在请求中设置的其中一个前提条件。

    413:(请求实体过大) 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。

    414:(请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理。

    415:(不支持的媒体类型) 请求的格式不受请求页面的支持。

    416:(请求范围不符合要求) 如果页面无法提供请求的范围,则服务器会返回此状态代码。

    417:(未满足期望值) 服务器未满足"期望"请求标头字段的要求。

    418:(我是一个茶壶)这个代码是在1998年作为传统的IETF April Fools‘ jokes被定义的在RFC2324,超文本咖啡罐控制协议,但是并没有被实际的HTTP服务器实现。RFC指定了这个代码应该是由茶罐返回给速溶咖啡。

    419:(认证超时)并不是HTTP标注的一部分,419认证超时表示以前的有效证明已经失效了。同时也被用于401未认证的替代选择为了从其它被拒绝访问的已认证客户端中指定服务器的资源。

    420:(方法失效)不是HTTP的标准,但是被Spring定义在HTTP状态类中当方法失时使用。这个状态码已经不推荐在Spring中使用。

    420:(提高你的耐心)也不是HTTP标准的一部分,但是被版本1的Twitter搜索和趋势APi返回当客户端的速率被限制的时候。其它的服务提供商可能会使用429太多的请求响应码来代替。

    421:从当前客户端所在的IP地址到服务器的连接数超过了服务器许可的最大范围。通常,这里的IP地址指的是从服务器上看到的客户端地址(比如用户的网关或者代理服务器地址)。在这种情况下,连接数的计算可能涉及到不止一个终端用户。

    422:请求格式正确,但是由于含有语义错误,无法响应。(RFC 4918 WebDAV)423 Locked

    当前资源被锁定。(RFC 4918 WebDAV)

    424:由于之前的某个请求发生的错误,导致当前请求失败,例如 PROPPATCH。(RFC 4918 WebDAV)

    425:在WebDav Advanced Collections 草案中定义,但是未出现在《WebDAV 顺序集协议》(RFC 3658)中。

    426:客户端应当切换到TLS/1.0。(RFC 2817)

    428:(需要前置条件)原始服务器需要有条件的请求。当客户端GET一个资源的状态的时候,同时又PUT回给服务器,与此同时第三方修改状态到服务器上的时候,为了避免丢失更新的问题发生将会导致冲突。

    429:(过多请求)用户已经发送了太多的请求在指定的时间里。用于限制速率。

    431:(请求头部字段太大)服务器由于一个单独的请求头部字段或者是全部的字段太大而不愿意处理请求。

    440:(登陆超时(微软))一个微软的扩展,意味着你的会话已经超时。

    444:(无响应)被使用在Nginx的日志中表明服务器没有返回信息给客户端并且关闭了连接(在威慑恶意软件的时候比较有用)。

    449:(重试(微软))一个微软的扩展。请求应该在执行适当的动作之后被重试。

    450:(被Windows家长控制阻塞(微软))一个微软的扩展。这个错误是当Windows家长控制打开并且阻塞指定网页的访问的时候被指定。

    451:(由于法律原因而无效(因特网草稿))被定义在因特网草稿“一个新的HTTP状态码用于法律限制的资源”。被用于当资源的访问由于法律原因被禁止的时候。例如检查制度或者是政府强制要求禁止访问。一个例子是1953年dystopian的小说Fahrenheit 451就是一个非法的资源。

    451:(重定向(微软))被用在Exchange ActiveSync中如果一个更有效的服务器能够被使用或者是服务器不能访问用户的邮箱。客户端会假定重新执行HTTP自动发现协议去寻找更适合的服务器。

    494:(请求头太大(Nginx))Nginx内置代码和431类似,但是是被更早地引入在版本0.9.4(在2011年1月21日)。

    495:(证书错误(Nginx))Nginx内置的代码,当使用SSL客户端证书的时候错误会出现为了在日志错误中区分它和4XX和一个错误页面的重定向。。

    496:(没有证书(Nginx))Nginx内置的代码,当客户端不能提供证书在日志中分辨4XX和一个错误页面的重定向。

    497:(HTTP到HTTPS(Nginx))Nginx内置的代码,被用于原始的HTTP的请求发送给HTTPS端口去分辨4XX在日志中和一个错误页面的重定向。

    498:(令牌超时或失效(Esri))由ArcGIS for Server返回。这个代码意味着令牌的超时或者是失效。

    499:(客户端关闭请求(Nginx))被用在Nginx日志去表明一个连接已经被客户端关闭当服务器仍然正在处理它的请求,是的服务器无法返货状态码。

    499:(需要令牌(Esri))由ArcGIS for Server返回。意味着需要一个令牌(如果没有令牌被提交)。

    3.5、5XX

    500:(服务器内部错误) 服务器遇到错误,无法完成请求。

    501:(尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。

    502:(错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。

    503:(服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。

    504:(网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。

    505:(HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。

    506:由《透明内容协商协议》(RFC 2295)扩展,代表服务器存在内部配置错误:被请求的协商变元资源被配置为在透明内容协商中使用自己,因此在一个协商处理中不是一个合适的重点。

    507:服务器无法存储完成请求所必须的内容。这个状况被认为是临时的。WebDAV (RFC 4918)

    509:服务器达到带宽限制。这不是一个官方的状态码,但是仍被广泛使用。

    510:获取资源所需要的策略并没有没满足。(RFC 2774)。

    508:(发现环路)服务器发现了一个无限的循环档处理请求的时候。

    511:(需要网络授权)客户端需要授权去火的网络的访问权限。一般用于代理交互中被用来进行网络的访问控制。

    520:(未知错误)这个状态码也没有被指定在任何RFC中,并且只会被一些服务器返回,例如微软的Azure和CloudFlare服务器:”520错误。本质上是一个捕获全部的响应当原始服务器返回一些未知的或者一些不能被忍受或者被解释的(协议违反或者空响应)”。

    598:(网络读取超时异常(未知))这个状态码也没有在任何RFC中指定,但是被用在微软的HTTP代理中去标注一个网络读取超时在一个客户端之前的代理的后面。

    599:(网络连接超时异常(未知))这个状态码也没有在任何RFC中指定,但是被用在微软的HTTP代理中去标注一个网络连接超时在一个客户端之前的代理的后面。

    展开全文
  • Http状态码:简单获取http状态码

    千次阅读 2021-11-27 18:45:09
    简单获取http状态码 Http状态码具体含义 public static void main(String[] args) { try { String str = "https://www.baidu.com/"; URL url = new URL(str); HttpURLConnection connection = (HttpURLConnection) ...

    简单获取http状态码
    Http状态码具体含义

        public static void main(String[] args) {
            try {
                String str = "https://www.baidu.com/";
                URL url = new URL(str);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setRequestMethod("GET");
                connection.connect();
                int responseCode = connection.getResponseCode();
                System.out.println(responseCode);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    

    执行结果:

    展开全文
  • 计算机网络之HTTP状态码

    千次阅读 2022-03-14 08:27:05
    计算机网络之HTTP状态码

    计算机网络之HTTP状态码

    注:java版

    1. 介绍

    image-20220206143845615

    2. 分类

    1xx:
    临时响应/请求正在处理;
    2xx:
    成功
    3xx:
    重定向
    4xx :
    请求错误
    5xx:
    服务器误

    2.1 1**列表

    1xx:服务器接受收客户端消息,但没有接受完成,等待一段
    时间后,发送1xx多状态码(意思是服务器去询问客户端还有没有要请求的信息)

    image-20220206144838208

    2.2 2**列表

    2xx:成功。2开头的三位数都代表成功

    image-20220206144855746

    2.3 3**列表

    3xx:重定向。代表:302(重定向),304(访问缓存)
    重定向是一种资源转发的一种方式,与之前讲的转发很类似

    image-20220206144908621

    2.4 4**列表

    4xx:客户端错误。
    代表:
    404(请求路径没有对应的资源)
    405:请求方式没有对应的doXxx方法

    image-20220206145005982

    2.5 5**列表

    5xx:服务器端错误。代表:500(服务器内部出现异常)

    image-20220206145020248

    3. 304访问缓存

    304:not modified服务器允许访问资源,但请求未满足条件;
    304状态码或许不应该认为是一种错误,而是对客户端有缓存情况下服务端的一种响应

    在这里插入图片描述

    在这里插入图片描述

    4. 405

    405:方法禁用,Post当成Get

    在这里插入图片描述
    在这里插入图片描述

    5. 500

    500: (服务器内部错误) 服务器遇到错误,无法完成请求

    在这里插入图片描述

    在这里插入图片描述

    6. 200

    200:服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页

    7. 301(永久移动)(重定向)

    301 :(永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置

    8. 302(临时移动)(重定向)

    302:临时重定向到指定网页;
    (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求

    在这里插入图片描述

    9. 400

    400 :客户端请求有语法错误,不能被服务器所理解;bad request,
    请求报文存在语法错误。

    10. 403

    403 :服务器收到请求,但是拒绝提供服务,权限有关

    11. 404

    404 :(未找到) 服务器找不到请求的网页

    12. 301和302的区别

    共同点:301和302状态码都表示重定向,就是说浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取(用户看到的效果就是他输入的地址A瞬间变成了另一个地址B)。
    不同点:301是永久性重定向;302是临时重定向; 即301表示旧地址A的资源已经被永久地移除了(这个资源不可访问了),搜索引擎在抓取新内容的同时也将旧的网址交换为重定向之后的网址;302表示旧地址A的资源还在(仍然可以访问),这个重定向只是临时地从旧地址A跳转到地址B,搜索引擎会抓取新的内容而保存旧的网址。 SEO中302好于301。
    301是会缓存;302是不会缓存;

    13. 重定向原因

    重定向原因

    1. 网站调整(如改变网页目录结构);
    2. 网页被移到一个新地址;
    3. 网页扩展名改变(如应用需要把.php改成.Html或.shtml)。

    以上情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404页面错误信息,访问流量白白丧失;再者某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点等

    14. 101

    101: 切换请求协议

    15. forward和redirect的区别

    forward 是转发,redirect 是重定向;
    或者说:
    forward 是直接转发方式,客户端和浏览器只发出一次请求;
    redirect是间接转发方式,实际是两次 HTTP 请求,服务器端在响应第一次请求的时候,让浏览器再向另外一个 URL 发出请求,从而达到转发的目的。
    举个通俗的例子:
    直接转发就相当于:“A 找 B 借钱,B 说没有,B 去找 C 借,借到借不到都会把消息传递给 A”;
    间接转发就相当于:“A 找 B 借钱,B 说没有,让 A 去找 C 借”。

    1.从地址栏显示来说:forward是服务器内部重定向,客户端浏览器的网址不会发生变化;redirect发生一个状态码(3XX),告诉服务器去重新请求那个网址,显示的的新的网址
    2.数据共享:forward使用的是同一个request,可以共享request的数据,redirect不可以
    3.应用场景:forward一般用于用户登录:redirect用于用户注销登录返回主页面或者跳转其他页面forward效率更高
    4本质上说:forward转发是服务器上的行为,而redirect是客户端行为
    5.次数:forward只有一次,redirect两次

    在这里插入图片描述

    16.什么是重定向

    就是地址A跳转到地址B啦。百度百科的解释:重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)

    17.什么时候进行301或者302跳转呢

    当一个网站或者网页24—48小时内临时移动到一个新的位置,这时候就要进行302跳转;打个比方说,我有一套房子,但是最近走亲戚去亲戚家住了,过两天我还回来的。

    而使用301跳转的场景就是之前的网站因为某种原因需要移除掉,然后要到新的地址访问,是永久性的;就比如你的那套房子其实是租的,现在租期到了,你又在另一个地方找到了房子,之前租的房子不住了。

    清晰明确而言:
    使用301跳转的场景:
    1)域名到期不想续费(或者发现了更适合网站的域名),想换个域名。
    2)在搜索引擎的搜索结果中出现了不带www的域名,而带www的域名却没有收录,这个时候可以用301重定向来告诉搜索引擎我们目标的域名是哪一个。
    3)空间服务器不稳定,换空间的时候。

    使用302跳转的场景:
    尽量使用301跳转!

    18.为什么尽量要使用301跳转

    为什么尽量要使用301跳转?——网址劫持!
    这里摘录百度百科上的解释:
    从网址A 做一个302 重定向到网址B 时,主机服务器的隐含意思是网址A 随时有可能改主意,重新显示本身的内容或转向其他的地方。大部分的搜索引擎在大部分情况下,当收到302 重定向时,一般只要去抓取目标网址就可以了,也就是说网址B。如果搜索引擎在遇到302 转向时,百分之百的都抓取目标网址B 的话,就不用担心网址URL 劫持了。问题就在于,有的时候搜索引擎,尤其是Google,并不能总是抓取目标网址。比如说,有的时候A 网址很短,但是它做了一个302 重定向到B 网址,而B 网址是一个很长的乱七八糟的URL 网址,甚至还有可能包含一些问号之类的参数。很自然的,A 网址更加用户友好,而B 网址既难看,又不用户友好。这时Google 很有可能会仍然显示网址A。由于搜索引擎排名算法只是程序而不是人,在遇到302 重定向的时候,并不能像人一样的去准确判定哪一个网址更适当,这就造成了网址URL 劫持的可能性。也就是说,一个不道德的人在他自己的网址A 做一个302 重定向到你的网址B,出于某种原因, Google 搜索结果所显示的仍然是网址A,但是所用的网页内容却是你的网址B 上的内容,这种情况就叫做网址URL 劫持。你辛辛苦苦所写的内容就这样被别人偷走了。302 重定向所造成的网址URL 劫持现象,已经存在一段时间了。不过到目前为止,似乎也没有什么更好的解决方法。在正在进行的谷歌大爸爸数据中心转换中,302 重定向问题也是要被解决的目标之一。从一些搜索结果来看,网址劫持现象有所改善,但是并没有完全解决。
    我的理解是,从网站A(网站比较烂)上做了一个302跳转到网站B(搜索排名很靠前),这时候有时搜索引擎会使用网站B的内容,但却收录了网站A的地址,这样在不知不觉间,网站B在为网站A作贡献,网站A的排名就靠前了。
    301跳转对查找引擎是一种对照驯良的跳转编制,也是查找引擎能够遭遇的跳转编制,它告诉查找引擎,这个地址弃用了,永远转向一个新地址,可以转移新域名的权重。而302重定向很容易被搜索引擎误认为是利用多个域名指向同一网站,那么你的网站就会被封掉,罪名是“利用重复的内容来干扰Google搜索结果的网站排名”。

    19. 304详细讲解

    客户端在请求一个文件的时候,发现自己缓存的文件有 Last Modified ,那么在请求中会包含 If Modified Since ,这个时间就是缓存文件的 Last Modified 。因此,如果请求中包含 If Modified Since,就说明已经有缓存在客户端。服务端只要判断这个时间和当前请求的文件的修改时间就可以确定是返回 304 还是 200 。

    对于静态文件,例如:CSS、图片,服务器会自动完成 Last Modified 和 If Modified Since 的比较,完成缓存或者更新。

    但是对于动态页面,就是动态产生的页面,往往没有包含 Last Modified 信息,这样浏览器、网关等都不会做缓存,也就是在每次请求的时候都完成一个 200 的请求。
    因此,对于动态页面做缓存加速,首先要在 Response 的 HTTP Header 中增加 Last Modified 定义,其次根据 Request 中的 If Modified Since 和被请求内容的更新时间来返回 200 或者 304 。虽然在返回 304 的时候已经做了一次数据库查询,但是可以避免接下来更多的数据库查询,并且没有返回页面内容而只是一个 HTTP Header,从而大大的降低带宽的消耗,对于用户的感觉也是提高。

    20. 401

    401:unauthorized未授权,要求身份验证。

    21. 502

    502:
    服务器网关错误。

    22. 503

    503:service unavailable,服务器超负荷或停机维护。

    23. 504

    网关超时,nginx请求超时。

    展开全文
  • HTTP 状态码

    千次阅读 2021-11-12 11:47:44
    当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含 HTTP 状态码的信息头( server header )用以响应浏览器的请求。 HTTP 状态码的英文为 HTTP Status Code。 常见的状态码有 200 -----请求成功 301...
  • 常见的HTTP状态码及应用场景

    千次阅读 2020-08-18 18:18:31
    一、2XX (Success 成功状态码) 二、 3XX (Redirection 重定向状态码) 三、 4XX (Client Error 客户端错误状态码) 四、5XX (Server Error 服务器错误状态码)
  • HTTP状态码(响应码)

    千次阅读 2022-05-16 23:29:37
    了解HTTP状态码是你步入网络安全必不可少的一步
  • Http状态码大全(404、500、505等)

    千次阅读 2022-03-17 14:37:31
    参考连接:HTTP 返回详解_程序员小灰的博客-CSDN博客_http返回 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。 100(继续)请求者应当继续提出请求。 服务器返回此代码表示已收到请求...
  • 常见的http状态码有哪些

    千次阅读 2021-10-07 20:31:57
    HTTP状态码:浏览者访问一个网页时,浏览者的浏览器会向网页所在的服务器发出请求,当浏览器接收并显示页面前,此网页所在的服务器会返回一个包含HTTP状态码的信息头泳衣响应浏览器的请求。 HTTP状态码共分为5种...
  • java获取http状态码

    2012-08-21 23:13:54
    通过HttpClient.jar获取Http响应,获取响应
  • 常见HTTP状态码

    千次阅读 2021-11-27 22:38:23
    状态码的类别 1XX 收到1xx开头的请求表示服务端已经收到请求,但是还没有返回信息给客户端 2XX 表示客户端已经成功请求数据 3XX 客户端收到3xx开头的状态码时,表示此时服务端已经不再管客户端所请求地址,让客户端...
  • 自定义http状态码

    千次阅读 2021-03-24 18:14:28
    @ResponseStatus(code=HttpStatus.INTERNAL_SERVER_ERROR,reason="111") public class ServerException extends Exception { } 然后往出抛异常别捕获 @RequestMapping(value = "/user", method = RequestMethod....
  • SpringMVC自定义响应的HTTP状态码

    千次阅读 2022-05-16 22:31:10
    SpringMVC自定义响应的HTTP状态码有两种方法,一种是在返回方法上面加上@ResponseStatus注解,另一个种是在方法内部使用response.setStatus()方法。 注解方式: @ResponseStatus一般是作用在异常类或者方法上,带有...
  • 当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。 HTTP状态码的英文为 HTTP Status Code。 下面是常见的HTTP状态码: 200 - 请求成功 ...
  • http 状态码499

    万次阅读 2021-08-17 17:50:10
    nginx源码中对499状态码的定义如下: /* * HTTP does not define the code for the case when a client closed * the connection while we are processing its request so we introduce * own code to log ...
  • http状态码大全(最全整理)

    千次阅读 2019-08-18 22:34:09
    HTTP状态码详解 HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由 RFC 2616 规范定义的 ,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。所有状态...
  • RestTemplate获取HTTP状态码

    千次阅读 2020-04-05 21:53:32
    使用RestTemplate请求特定接口,并根据获取的HTTP状态码进行具体业务操作。 @RestController public class RestfulController { private RestTemplate restTemplate = new RestTemplate(); @GetMapping("/test1...
  • HTTP 状态码和业务状态

    千次阅读 2020-12-23 21:08:02
    HTTP 状态码和业务状态 接口输出格式 { "code": 4302, "message": "no sign", "time": 1487832032, "data": []} 我们可以 看到 code=4302,4302 并不是一个 HTTP 协议状态码,而是一个业务状态码,是业务领域...
  • 常见的Http状态码以及其代表的意义

    千次阅读 2021-12-12 22:22:20
    1.信息代码:1xx:信息,请求收到,继续处理 2.成功代码:2xx:成功,行为被...5种常见的HTTP状态码; 200(OK):请求已成功,请求所希望的响应头或者数据体将随此响应返回。 400(Bad Request):请求格式错误。 .
  • 巧记HTTP状态码

    万次阅读 2019-04-20 00:14:20
    大家都知道http状态码从1xx到5xx 总共有好几百个要想记住这些状态码并不是个容易事,本人每天看一次状态码,尝试各种背,发现这样并没有什么卵用,于是开启了变相图文理解记忆法方便自己记忆。 有一天我们去给猫村...
  • http状态码(204,304, 404, 504,502)

    千次阅读 2021-10-27 16:15:09
    常见HTTP状态码大全 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。 代码 说明 http状态码 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待...
  • Python-批量检测HTTP状态码

    千次阅读 2022-04-13 16:57:22
    批量检测HTTP状态码
  • http状态码大全整理

    千次阅读 2021-06-09 15:00:51
    文章目录HTTP状态码简介HTTP状态码分类HTTP 100 状态码HTTP 101 状态码HTTP 200 状态码HTTP 201 状态码HTTP 202 状态码HTTP 203 状态码HTTP 204 状态码HTTP 205 状态码HTTP 206 状态码HTTP 300 状态码HTTP 301 状态...
  • 不仅如此,搜索引擎蜘蛛如Baiduspider使用这些蜘蛛...在本文中,我将仔细阐述HTTP状态码及其对SEO的意义。什么是HTTP状态码?HTTP状态代码是服务器在浏览器发出的请求可以或不能完成时发送的反馈。根据官方W3C规范,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 761,532
精华内容 304,612
关键字:

http状态码