HTTP请求状态码
1.什么是HTTP状态码?
HTTP状态码是服务器返回给客户端的,其核心作用是web服务器来告诉客户端,当前网页发生的什么事,或者说当前web服务器的响应状态。所以HTTP状态码常用来判断和分析当前web服务器的运行状况。
2.HTTP状态码分类
HTTP状态码可以分成五个大类,1xx,2xx,3xx,4xx,5xx
状态码类型 | 状态码含义 |
---|---|
1xx | 表示响应正在处理 |
2xx | 表示请求成功 |
3xx | 表示请求重定向(一般是原地址废弃) |
4xx | 表示请求客户端出错(一般是访问路径不对) |
5xx | 表示请求服务端出错(一般是代码有问题) |
3.请求重定向与请求转发
- 请求重定向:客户端向服务器发送请求,然后服务器告诉客户端说:我给你一些地址,你去新地址访问,叫请求重定向(因为之前的地址可能已经被废弃)
- 请求转发:服务器收到请求后,从一个资源跳转到另一个资源的操作叫请求转发。
二者区别:
- 请求转发可以理解为只是换了个请求地址(一个请求),请求转发可以理解为重新发送了一次请求(第一个请求被直接打回来后(状态码为3xx),客户端又发了第二个仅仅是访问地址不同的请求)
- 请求转发浏览器地址栏没有变化,请求重定向地址栏会有变化
- 请求转发不可以访问项目以外的资源,请求重定向可以访问项目以外的资源。
4.常见HTTP状态码
-
200:请求成功处理(最常见)
-
301:原地址永久失效。永久性重定向。
-
302:原地址临时迁移,但不是永久性的,临时重定向。
-
304:客户端请求资源成功,但是这个资源不是由服务器提供返回给客户端的,而是客户端本地浏览器缓存中就有的这个资源,因为可以从缓存中获取这个资源,从而节省传输的开销,简而言之就无需访问服务端,直接重定向到本地。
-
403:请求的服务器资源权限不够,也就是说,客户端没有权限去访问服务器的资源,或者客户端的IP地址被拉黑了。
-
404:服务器没有该资源(比较常见)
-
500:服务器内部出现错误,比如服务器崩了或者服务器代码有误。