我们的HTTP
响应格式,之前已经学习过了!
我们知道每次响应都会在第一行状态行中返回响应的信息!
而最重要的信息就是状态码,不同的状态码表示不同的响应状态,对于请求的结果是否失败或者成功或者出现了什么bug
都可以通过这个状态码来体现!
状态码一般由3位十进制数据构成!
不同数字开头的状态码有不同的含义!
从1开头到5开头分别代表不同类别的状态码!
上面就是状态码的分类及其每个分类含义!
我们主要介绍几个常见的状态码信息!
状态码200 OK
表示浏览器获取到了响应结果,并且一切顺利!
如果我们我们的网络啥的没有问题基本上抓取到都是200 OK
这个状态码!
在请求的 URL 已被移除时使用。
响应的 Location 首部中应该包含 资源现在所处的 URL。除非额外指定,否则这个响应也是可缓存的.
就是直接跳转到该URL
!
请求的资源现在临时从不同的 URI
响应请求。
由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。客户端应该使用 Location 首部给出的 URL 来临时定位资源。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。
Location
记录了重定向后的网页URL!
状态码301和302作用有点类似!
301重定向是永久跳转到
location
而302只是暂时重定向!
此响应码保留以便将来使用,创造此响应码的最初目的是用于数字支付系统,然而现在并未使用!
如果你访问的资源没有权限,服务器就会返回403 Forbidden
这个状态码!
但我们访问bilibili
下的/1.html
网页时,因为压根就没有这个网页,资源不存在就会触发Not found
但是bilibili设计的比较卡哇伊,返回了一个动漫给你看!
可以看到当我们访问一个不存在的网站时,服务器就会返回一个404 Not Found
状态码!
前面我们已经学过了GET
和HOST
等方法!
有些服务器只能允许用GET
方法请求访问,如果用POST
方法进行请求服务器就会返回这个405 Method Not Allowed
响应!
这样的状态码比较难抓包,一般在我们自己的服务器构造请求和响应就很常遇到这个响应!也就定位了bug
!
HTTP文档指出:当客户端给一个茶壶发送泡咖啡的请求时,茶壶就返回一个418错误状态码,表示“我是一个茶壶”。
这就是一个菜单,程序员的浪漫!
就是可以设置某一时刻你访问的某一个网站,该网站返回的响应和此前的不一样,就有点惊喜,也可能是惊喜,还是少写几行代码舒服!!!
服务器出现了重大故障!服务器出bug了!
这个状态码也比较少见,在后面自己编写服务器时会出现!
服务器繁忙,它们在 等待另一服务器对其请求进行响应时超时了!
我们通过状态码的开头就可以知道该响应信息当前状态!
100开头是接收的请求正在处理!
200开头是请求处理成功!
300开头是重定向状态!
400开头是客户端的问题!
500开头是服务器的问题!