Http常见状态码

Http常见状态码

1.介绍:
1)由三位数字组成的一个符号。
2)Http服务器在推送响应之前,根据本次请求处理情况,将Http状态码写入到响应包中的状态行上。
3)如果Http服务器针对本次请求,返回了对应的资源文件,通过Http状态码通知浏览器应该如何处理这个结果。如果Http服务器针对本次请求,无法返回对应的资源文件,通过Http状态码向浏览器解释无法提供服务的原因。
2.分类:
1)组成 100——599;分为5个大类;
2)1XX :
最有特征例如100状态码;通知浏览器本次返回的资源文件并不是一个独立的资源文件,需要浏览器在接收响应包之后,继续向Http服务器索要依赖的其他资源文件。
3) 2XX :
最有特征例如200状态码,通知浏览器本次返回的资源文件是一个完整独立资源文件,浏览器在接收到之后不需要索要其他关联文件。
4) 3XX;
最有特征例如302状态码,通知浏览器本次返回的不是一个资源文件内容,而是一个资源文件的地址,需要浏览器根据这个地址自动发起请求来索要这个资源文件
实现命令:response.sendRedirect(“资源文件的地址”)
写入响应头的location中,而这个行为导致服务器将302状态码写入到状态行,这也是重定向的实现原理。
5)4XX
404:通知浏览器,由于在服务端没有定位到被访问的资源文件,因此无法提供帮助。
405:通知浏览器,在服务端已经定位到被访问的资源文件(Servlet),但是这个Servlet对于浏览器采用的请求方式不能处理,如果一个只实现了doGet方法的Servlet传来post请求就会报405错误。
6)5XX
最有特征例如500,通知浏览器,在服务端已经定位到被访问的资源文件(Servlet),但是Servlet在处理请求期间,由于java异常导致处理失败。

### HTTP常见状态码及解释 #### 信息性状态码 (1xx) 这类状态码表示接收到请求并继续处理。 - **100 Continue**: 表示服务器已经收到了请求头部,客户端可以继续发送请求主体[^4]。 - **101 Switching Protocols**: 表明服务器接受客户端的请求,并准备切换协议(例如从HTTP切换到WebSocket)[^4]。 #### 成功状态码 (2xx) 此类状态码表示请求已被成功接收、理解和处理。 - **200 OK**: 请求成功,服务器返回了请求的资源[^4]。 - **201 Created**: 请求成功,服务器创建了一个新的资源,通常用于`POST`请求。 - **204 No Content**: 请求成功,但没有返回任何内容,常用于`DELETE`请求。 - **206 Partial Content**: 当客户端进行了范围请求时,服务器会成功执行这部分的`GET`请求[^2]。 #### 重定向状态码 (3xx) 这些状态码告知客户端需采取进一步操作来完成请求。 - **301 Moved Permanently**: 资源已永久移动至新位置,新的URL将在响应的`Location`字段中提供。 - **302 Found**: 资源临时从不同的URI响应请求。 - **304 Not Modified**: 如果资源未被修改,则允许使用缓存版本而不重新下载[^4]。 #### 客户端错误状态码 (4xx) 此组状态码意味着客户端可能犯了某种错误。 - **400 Bad Request**: 请求无效或格式错误,服务器无法处理该请求[^4]。 - **401 Unauthorized**: 需要身份验证才能访问某些受保护的资源[^4]。 - **403 Forbidden**: 即使提供了正确的凭证,也无权访问特定资源[^4]。 - **404 Not Found**: 所请求的资源在服务器上不存在,可能是地址拼写错误或是资源曾存在但现在已被移除[^3][^4]。 - **429 Too Many Requests**: 客户端在指定时间内发出过多请求,触发速率限制机制。 #### 服务器错误状态码 (5xx) 这一系列的状态码表明服务器遇到了意外情况,阻止其履行请求。 - **500 Internal Server Error**: 通用错误消息,指出服务器遇到未知问题而无法完成请求。 - **501 Not Implemented**: 服务器不支持实现所需功能以满足请求[^4]。 - **502 Bad Gateway**: 作为网关或代理工作的服务器收到来自上游服务器的有效回复失败[^4]。 - **503 Service Unavailable**: 服务不可用,这通常是由于服务器过载或者正在进行维护所致[^4]。 - **504 Gateway Timeout**: 作为网关或代理工作的服务器未能及时获得来自上游服务器的回应[^4]。 ```python # 示例代码展示如何通过Python库requests获取HTTP状态码 import requests response = requests.get('https://example.com') print(f'Status Code: {response.status_code}') if response.status_code == 200: print("Request was successful.") elif response.status_code == 404: print("The requested resource could not be found.") else: print("An error occurred with the request.") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值