http状态码都有哪些?

我们经常会在网页打开的时候,出现一些状态码,或者调试程序时,出现一些状态码,这里小编整理了一些常见的状态码,一起来看看吧!!

1、200:成功处理了请求,一般情况下都是返回此状态码;
2、404:服务器找不到请求的网页;
3、418:反爬失败;
4、500:服务器遇到错误,无法完成请求;
5、408:服务器等候请求时发生超时。

详细信息如下:

1开头的http状态码:表示临时响应并需要请求者继续执行操作的状态代码。

100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。

2开头的http状态码:表示请求成功

200 成功处理了请求,一般情况下都是返回此状态码;
201 请求成功并且服务器创建了新的资源。
202 接受请求但没创建资源;
203 返回另一资源的请求;
204 服务器成功处理了请求,但没有返回任何内容;
205 服务器成功处理了请求,但没有返回任何内容;
206 处理部分请求;

3xx的状态码重定向代码,也是常见的代码

300 (多种选择) 针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。
301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
303 (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。
304 (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
305 (使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。
307 (临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

4开头的http状态码:表示请求出错

400 服务器不理解请求的语法。
401 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
403 服务器拒绝请求。
404 服务器找不到请求的网页。
405 禁用请求中指定的方法。
406 无法使用请求的内容特性响应请求的网页。
407 此状态代码与 401类似,但指定请求者应当授权使用代理。
408 服务器等候请求时发生超时。
409 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。
410 如果请求的资源已永久删除,服务器就会返回此响应。
411 服务器不接受不含有效内容长度标头字段的请求。
412 服务器未满足请求者在请求中设置的其中一个前提条件。
413 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
414 请求的 URI(通常为网址)过长,服务器无法处理。
415 请求的格式不受请求页面的支持。
416 如果页面无法提供请求的范围,则服务器会返回此状态代码。
417 服务器未满足”期望”请求标头字段的要求。

5开头状态码:并不常见,但是我们应该知道

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

<think>首先,用户的问题是:“我想查找WebSocket的链接状态码有哪些 请问WebSocket的链接状态码有哪些”。这似乎是在询问WebSocket连接过程中涉及的状态码。 从系统提供的引用中,我可以看到相关信息: - 引用[1]:提到了WebSocket链接返回HTTP状态码101,并给出了一个示例响应。 - 引用[3]:解释了HTTP状态码1xx系列,特别是100 Continue,但WebSocket使用的是101 Switching Protocols。 用户明确问的是“WebSocket的链接状态码”,所以焦点应该放在WebSocket连接建立时涉及的HTTP状态码。 关键点: - WebSocket连接是通过HTTP升级机制建立的。客户端发送一个HTTP请求,请求升级到WebSocket协议。 - 服务器如果同意升级,会返回HTTP 101 Switching Protocols状态码。 - 如引用[1]所示:HTTP/1.1 101 Switching Protocols,然后有Upgrade: websocket等头。 其他状态码可能涉及,但101是核心的。例如: - 如果升级失败,服务器可能返回其他状态码,比如400 Bad Request 或426 Upgraded Required。 但用户问的是“链接状态码”,可能特指成功建立连接时的状态码。 引用[2]讨论了资源消耗,但不太相关。 引用[3]提到100 Continue,但这不是WebSocket特有的;100是HTTP状态码,用于指示客户端应继续发送请求体。 所以,对于WebSocket,主要的状态码是101。 我应该确保回答准确: - WebSocket连接开始时是一个HTTP请求,请求升级。 - 成功时,返回101。 - 失败时,可能返回其他HTTP错误码。 用户说“状态码有哪些”,所以可能列出所有相关的。 常见的与WebSocket连接相关的HTTP状态码: - 101 Switching Protocols:成功升级。 - 400 Bad Request:请求无效。 - 401 Unauthorized:需要认证。 - 403 Forbidden:禁止访问。 - 404 Not Found:资源不存在。 - 426 Upgrade Required:指示客户端必须升级协议。 但426不常见;WebSocket标准是使用101。 在WebSocket规范中,状态码HTTP响应的一部分,而不是WebSocket协议本身的状态码。WebSocket协议有自己的帧和控制码,但用户问的是“链接状态码”,可能指的是连接过程。 用户说“WebSocket的链接状态码”,所以我认为是建立连接时的HTTP状态码。 结构化回答: 1. 解释WebSocket连接过程涉及HTTP升级。 2. 成功状态码:101 Switching Protocols。 3. 可能遇到的其他状态码(如错误情况)。 4. 参考引用。 系统指令要求: - 使用中文回答。 - 回答结构清晰。 - 生成相关问题。 - 在引用的段落末尾添加引用标识。 - 对于数学表达式,使用$...$或$$...$$,但这里可能没有数学,所以可能不需要。 用户的问题是关于WebSocket状态码,不是数学,所以不需要LaTeX数学格式。 系统指令说所有行内数学表达式必须使用$...$,但如果没有数学,就不用。 在这里,应该没有数学。 生成相关问题:在最后添加“§§相关问题§§”部分。 回答中引用的部分末尾添加引用标识,例如[^1]。 引用内容: - 引用[1]:WebSocket链接返回101状态码。 - 引用[2]:资源消耗,不太相关。 - 引用[3]:HTTP 1xx状态码。 我应该主要使用引用[1]和[3]。 回答结构: - 开头解释。 - 列出状态码。 - 添加引用。 最终回答应包括: - WebSocket连接通过HTTP升级请求建立。 Magistratus服务器响应时,如果成功,返回101状态码。 - 示例:如引用[1]所示。 - 其他可能状态码:例如,100(但WebSocket中不常用),或错误码如400。 但100是信息性的,不是特定于WebSocket。 在WebSocket握手过程中,状态码HTTP的。 所以,关键点是101。 生成相关问题: - 可能的问题如:WebSocket连接失败时返回哪些状态码? - 如何解决WebSocket连接问题? - WebSocket协议的状态码是什么?(但WebSocket有自己的关闭码,但用户问的是“链接状态码”,可能不是同一个) WebSocket关闭时,有状态码如1000(正常关闭),但那不是HTTP状态码。 用户的问题是“链接状态码”,我认为是连接建立时的状态码。 为了全面,可以简要提到。 在回答中: “WebSocket的链接状态码主要指的是在建立连接时的HTTP响应状态码。成功建立WebSocket连接时,服务器返回101 Switching Protocols状态码。此外,在连接过程中,如果出现错误,可能会返回其他HTTP状态码,如400 Bad Request或401 Unauthorized。” 然后,生成相关问题。 相关问题: 1. WebSocket连接失败时常见的状态码有哪些? 2. 如何调试WebSocket连接问题? 3. WebSocket协议本身的状态码是什么? 确保回答真实可靠。基于我的知识: - 101是标准的。 - 其他错误码是常规HTTP错误。 参考引用:在提及101时添加,在提到1xx时添加[^3]。 引用[3]提到100 Continue,但WebSocket中不直接使用;它主要用于HTTP请求体。 所以,在回答中,专注于101。 </think> ### WebSocket 链接状态码详解 WebSocket 协议通过 HTTP 升级机制建立连接,其“链接状态码”指的是在握手阶段服务器返回的 HTTP 响应状态码。这些状态码用于指示连接是否成功升级为 WebSocket 协议。以下是关键的状态码及其说明: 1. **101 Switching Protocols**:这是 WebSocket 连接成功建立的标准状态码。当客户端发送包含 `Upgrade: websocket` 头的 HTTP 请求后,如果服务器同意升级,会返回状态码 101,并附带必要的头信息(如 `Sec-WebSocket-Accept`)以确认协议切换。例如: ``` HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk= Sec-WebSocket-Protocol: chat ``` 2. **其他常见状态码(错误情况)**:如果连接升级失败,服务器可能返回常规 HTTP 错误码,表示请求无效或访问受限。这些状态码虽然不是 WebSocket 特有,但在连接过程中可能遇到: - **400 Bad Request**:请求格式错误或缺少必要头信息(如 `Sec-WebSocket-Key`)。 - **401 Unauthorized**:需要认证,但客户端未提供有效凭证。 - **403 Forbidden**:服务器拒绝访问(例如,权限不足)。 - **404 Not Found**:请求的 WebSocket 端点不存在。 - **426 Upgrade Required**:服务器要求客户端使用升级协议(如 WebSocket),但客户端未发起升级请求。 需要注意的是,WebSocket 连接建立后,协议本身的操作(如数据传输或关闭)使用 WebSocket 控制帧中的状态码(例如,1000 表示正常关闭),但这些不属于“链接状态码”的范畴。链接状态码专指握手阶段的 HTTP 响应[^1]。 在资源消耗方面,多个 WebSocket 连接会增加服务器和客户端的负载(如 CPU 和内存),但这不影响状态码本身[^2]。如果您遇到特定状态码问题,可以提供更多细节以便进一步分析。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值