http、https网络请求状态码 statusCode 200、300、400、500。WebSocket断开状态码 1006...

摘要:
202(已接受)服务器已接受请求,但尚未处理。当服务器返回此响应时,它将自动将请求者移动到新位置。401本页需要授权。通常,这只是一种临时状态。MDN:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status2、WebSocket断开状态代码1006…当WebSocket被断开时,将触发事件CloseEvent。当连接关闭时,CloseEvent将使用WebSocket发送到客户端。它在WebSocket对象的onclose事件侦听器中使用。当常规异常断开连接时,此值为false。

一、http、https网络请求状态码 statusCode 200、300、400、500

  200-206:服务器成功处理了请求的状态代码,说明网页或资源可以正常访问。

    • 200(成功)  服务器已成功处理了请求。通常,这表示服务器提供了请求的网页或资源。
    • 201(已创建)  请求成功且服务器已创建了新的资源。 
    • 202(已接受)  服务器已接受了请求,但尚未对其进行处理。 
    • 203(非授权信息)  服务器已成功处理了请求,但返回了可能来自另一来源的信息。 
    • 204(无内容)  服务器成功处理了请求,但未返回任何内容。 
    • 205(重置内容) 服务器成功处理了请求,但未返回任何内容。与 204 响应不同,此响应要求请求者重置文档视图(例如清除表单内容以输入新内容)。 
    • 206(部分内容)  服务器成功处理了部分 GET 请求。

  

  300-307:要完成请求,需要进一步进行操作。通常,这些状态代码是永远重定向的。

    • 300(多种选择)  服务器根据请求可执行多种操作。服务器可根据请求者 来选择一项操作,或提供操作列表供其选择。 
    • 301(永久移动)  请求的网页已被永久移动到新位置。服务器返回此响应时,会自动将请求者转到新位置。应使用此代码通知搜索引擎蜘蛛网页或网站已被永久移动到新位置。 
    • 302(临时移动)  服务器正从不同位置的网页响应请求,请求者应继续使用原有位置来进行以后的请求。服务器会自动将请求者转到不同的位置。但由于搜索引擎会继续抓取原有位置并将其编入索引,因此不应使用此代码来告诉搜索引擎页面或网站已被移动。 
    • 303(查看其他位置) 当请求者应对不同的位置进行单独的 GET 请求以检索响应时,服务器会返回此代码。对于除 HEAD 请求之外的所有请求,服务器会自动转到其他位置。 
    • 304(未修改) 自从上次请求后,请求的网页未被修改过。服务器返回此响应时,不会返回网页内容。

如果网页自请求者上次请求后再也没有更改过,应当将服务器配置为返回此响应。由于服务器可以告诉 搜索引擎自从上次抓取后网页没有更改过,因此可节省带宽和开销。 

    • 305(使用代理) 请求者只能使用代理访问请求的网页。如果服务器返回此响应,那么,服务器还会指明请求者应当使用的代理。 
    • 307(临时重定向)  服务器正从不同位置的网页响应请求,请求者应继续使用原有位置来进行以后的请求。服务器会自动将请求者转到不同的位置。但由于搜索引擎会继续抓取原有位置并将其编入索引,因此不应使用此代码来告诉搜索引擎某个页面或网站已被移动。

  4XX:请求可能出错。会妨碍服务器的处理。

    • 400(错误请求) 服务器不理解请求的语法。 
    • 401(身份验证错误) 此页要求授权。
    • 403(禁止) 服务器拒绝请求。
    • 404(未找到) 服务器找不到请求的网页。对于服务器上不存在的网页或某些错误的路由会返回此状态码,服务器应该指定错误页面。
    • 405(方法禁用) 禁用请求中指定的方法。
    • 406(不接受) 无法使用请求的内容特性响应请求的网页。 
    • 407(需要代理授权) 此状态码与 401 类似,但指定请求者必须授权使用代理。如果服务器返回此响应,还表示请求者应当使用代理。 
    • 408(请求超时) 服务器等候请求时发生超时。 
    • 409(冲突) 服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。服务器在响应与前一个请求相冲突的 PUT 请求时可能会返回此代码,以及两个请求的差异列表。 
    • 410(已删除) 请求的资源永久删除后,服务器返回此响应。该代码与 404(未找到)代码相似,但在资源以前存在而现在不存在的情况下,有时会用来替代 404 代码。如果资源已永久删除,应当使用 301 指定资源的新位置。 
    • 411(需要有效长度) 服务器不接受不含有效内容长度标头字段的请求。 
    • 412(未满足前提条件) 服务器未满足请求者在请求中设置的其中一个前提条件。 
    • 413(请求实体过大) 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。 
    • 414(请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理。不同的浏览器和服务器对URL的长度、大小支持有差异。
    • 415(不支持的媒体类型) 请求的格式不受请求页面的支持。 
    • 416(请求范围不符合要求) 如果页面无法提供请求的范围,则服务器会返回此状态码。 
    • 417(未满足期望值) 服务器未满足"期望"请求标头字段的要求。


  
500-505:服务器在尝试处理请求时发生内部错误。通常是服务器本身的错误,而不是请求出错。

    • 500(服务器内部错误)  服务器遇到错误,无法完成请求。
    • 501(尚未实施) 服务器不具备完成请求的功能。例如,当服务器无法识别请求方法时,服务器可能会返回此代码。
    • 502(错误网关) 服务器作为网关或代理,从上游服务器收到了无效的响应。
    • 503(服务不可用) 目前无法使用服务器(由于超载或进行停机维护)。通常,这只是一种暂时的状态。
    • 504(网关超时)  服务器作为网关或代理,未及时从上游服务器接收请求。
    • 505(HTTP 版本不受支持) 服务器不支持请求中所使用的 HTTP 协议版本。

 MDN:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status

二、WebSocket断开状态码 1006...

  WebSocket断开时,会触发事件 CloseEvent 。CloseEvent会在连接关闭时发送给使用 WebSockets 的客户端. 它在 WebSocket 对象的 onclose 事件监听器中使用。

  CloseEvent有三个字段需要注意, 通过分析这三个字段,一般就可以找到断开原因

    • CloseEvent.code  code是错误码,是整数类型
    • CloseEvent.reasonreason是断开原因,是字符串
    • CloseEvent.wasCleanwasClean表示是否正常断开,是布尔值。一般异常断开时,该值为false。

  

  一般来说1006的错误码出现的情况比较常见,该错误码一般出现在断网时。

0–999 保留段, 未使用.
1000CLOSE_NORMAL正常关闭; 无论为何目的而创建, 该链接都已成功完成任务.
1001CLOSE_GOING_AWAY终端离开, 可能因为服务端错误, 也可能因为浏览器正从打开连接的页面跳转离开.
1002CLOSE_PROTOCOL_ERROR由于协议错误而中断连接.
1003CLOSE_UNSUPPORTED由于接收到不允许的数据类型而断开连接 (如仅接收文本数据的终端接收到了二进制数据).
1004 保留. 其意义可能会在未来定义.
1005CLOSE_NO_STATUS保留. 表示没有收到预期的状态码.
1006CLOSE_ABNORMAL保留. 用于期望收到状态码时连接非正常关闭 (也就是说, 没有发送关闭帧).
1007Unsupported Data由于收到了格式不符的数据而断开连接 (如文本消息中包含了非 UTF-8 数据).
1008Policy Violation由于收到不符合约定的数据而断开连接. 这是一个通用状态码, 用于不适合使用 1003 和 1009 状态码的场景.
1009CLOSE_TOO_LARGE由于收到过大的数据帧而断开连接.
1010Missing Extension客户端期望服务器商定一个或多个拓展, 但服务器没有处理, 因此客户端断开连接.
1011Internal Error客户端由于遇到没有预料的情况阻止其完成请求, 因此服务端断开连接.
1012Service Restart服务器由于重启而断开连接.
1013Try Again Later服务器由于临时原因断开连接, 如服务器过载因此断开一部分客户端连接.
1014 由 WebSocket标准保留以便未来使用.
1015TLS Handshake保留. 表示连接由于无法完成 TLS 握手而关闭 (例如无法验证服务器证书).
1016–1999 由 WebSocket标准保留以便未来使用.
2000–2999 由 WebSocket拓展保留使用.
3000–3999 可以由库或框架使用.不应由应用使用. 可以在 IANA 注册, 先到先得.
4000–4999 可以由应用使用.

MDN:https://developer.mozilla.org/zh-CN/docs/Web/API/CloseEvent

免责声明:文章转载自《http、https网络请求状态码 statusCode 200、300、400、500。WebSocket断开状态码 1006...》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇软件详细设计说明书GoLang基础数据类型--->字符串处理大全下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MQTT 简介及协议原理

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种构建于TCP/IP协议上基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。做为一种低开销、低带宽...

GitHub上优秀的Go开源项目

2014年11月,Golang官方博客发布Go语言核心开发组成员Andrew Gerrand文章 《Half a decade with Go》,以纪念Go语言发布5周年。Andrew Gerrand在文章中称,Go语言在工业界向云计算转型时代找到了自己的位置,目前一些重量级的云计算项目比如有名的Docker等都是用Go语言开发的,并预言“2015年将是G...

使用AVPro Video在Unity中播放开场视频(CG)笔记

游戏需要添加开场CG,调研在Unity中播放视频,采用的插件为AVPro Video,Unity版本为2018.4.0f1 Asset Store:AVPro Video - Core Android Edition 官方文档:https://www.renderheads.com/content/docs/AVProVideo/articles/intr...

swagger 转载:https://www.cnblogs.com/tianshifu/p/7156563.html

使用swagger 生成 Flask RESTful API  什么是REST REST(英文:Representational State Transfer,又称具象状态传输)是Roy Thomas Fielding博士于2000年在他的博士论文 中提出来的一种万维网软件架构风格,目的是便于不同软件/程序在网络(例如互联网)中互相传递信息。 REST...

ssh免密码登录

二、实验需求: 为了服务器的安全,在服务器上禁止root用户通过SSH远程登录。 允许zhangsan用户在192.168.1.2客户机上通过SSH远程登录。 允许lisi用户在192.168.1.3客户机上通过SSH远程登录, 允许jerry用户在所有的客户机上通过SSH远程登录,并且是通过密钥对验证。 三、实验步骤: 1.实验的前提,就是配置i...

Windows上使用Git托管代码到Coding

作者:荒原之梦 Git简介: Git是一款分布式版本控制系统,可用于项目的版本管理。Git可以管理本地代码仓库与远程代码仓库间的连接以及进行版本控制,使得我们可以在本地离线进行修改等操作,之后再将代码提交到远程代码仓库,方便团队协作。 Git官网: https://git-scm.com/ Git百度百科: https://baike.baidu.co...