zoukankan      html  css  js  c++  java
  • http、https网络请求状态码 statusCode 200、300、400、500。WebSocket断开状态码 1006...

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

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

  • 相关阅读:
    托付和事件的使用
    在使用supervisord 管理tomcat时遇到的小问题
    无法安装vmware tools的解决方PLEASE WAIT! VMware Tools is currently being installed on your system. Dependin
    (转)Openlayers 2.X加载高德地图
    (转)openlayers实现在线编辑
    (转) Arcgis for js加载百度地图
    (转)Arcgis for js加载天地图
    (转) 基于Arcgis for Js的web GIS数据在线采集简介
    (转) Arcgis for js之WKT和GEOMETRY的相互转换
    (转)Arcgis for Js之Graphiclayer扩展详解
  • 原文地址:https://www.cnblogs.com/jiayouba/p/14922091.html
Copyright © 2011-2022 走看看