200、404、500…这些HTTP状态响应码你还记得吗?

702 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

200、404、500…这些HTTP状态响应码你还记得吗?

打开浏览网页,不知道你最常用的是哪个功能,程序员最常做的应该就是按F12或者打开 审查元素了。每次打开网页,看到广告,音乐下载要付费、电影下载要付费、图片下载要付费、文档下载要付费,程序员们是最不耐烦的,换作别人可能就乖乖付款了,程序员则默默打开了控制台……

说到这里,问题就来了,控制台你吃透了吗?

986859805cf4da7cbd9d7cc3fbab6171.jpg

吃透当然是开玩笑的,重要的功能懂了就行了。

不知道大家有没有注意Network(网络)这一块。

每一次网络就会有很多数据出现在这里▼

6ee1abf9853bc4250223f7173b72e278.jpg

点开一个接收到返回的数据,看到Headers栏

01f3fa3ede280c8279372d46cc08a0db.jpg

相信经常做网页爬虫的会比较熟悉了。

我们看到Status Code(状态码),这里有个200 OK,亮了绿灯,表示网页加载正常。

ebaebe036427d7a6c494dfa506adcd1a.jpg

状态码,说到这里,有好奇的猫咪出现了,这是个什么东西?200是什么意思?除了200还可以用300、400、500吗?

b30774c932ee173a35f8459e1ab7d556.jpg

状态码(Status Code)是网页服务器返回给客户端的一个状态信息。

常见的状态码格式有以下五种:

  • 1xx

临时响应(Informational),需要请求者继续执行操作的状态代码,表示服务器正在接受请求。

  • 2xx

成功状态码(Success),已成功接受客户端请求。

  • 3xx

重定向状态码(Redirection),需要客户端做进一步操作来完成请求。

  • 4xx

客户端错误(Client Error),客户端请求出错导致服务端无法正常完成请求。

  • 5xx

服务端错误(Server Error),服务器出错未能成功处理服务端请求。

生活中常见的状态码

  • 200(ok)

表示一切正常,服务器已成功处理了请求。实体主体的数据是某资源的显示。

  • 201(Create)

已创建新资源,客户端请求成功并且服务器创建了新的资源,Location头给出了它的URL。

  • 204(No Content)

服务器拒绝对PUT、POST或者DELETE请求返回任何状态信息或表示。服务器成功处理了请求,但没有返回任何内容。

  • 303(See Other)

请求已经被处理,但服务器不是直接返回一个响应文档,而是返回一个响应文档的URI。可以用来处理POST请求重定向到GET请求的情况。

  • 304(Not modified)

自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。是由于客户端已拥有该数据,没必要重复发送。

  • 307(Temporary Redirect)

临时重定向。请求还没有被处理,因为所请求的资源不在本地:它在另一个URI处。请求者应继续使用原有位置来进行以后的请求。

  • 400(Bad Request)

通用的错误请求,服务器不理解请求的语法。

  • 401(Unauthorized)

未授权,访问被拒绝, 请求要求身份验证。对于需要登录的网页,服务器可能返回此响应。通常为提供了错误的认证证书或者未提供认证证书。

  • 404(Not Found)

生活中见到最多的HTTP响应码。服务器找不到请求的网页。服务器无法把客户端请求的URI转换为一个资源或者说客户端所请求的URI是空的。

  • 500(Internal Server Error)

通用的服务器错误响应。服务器内部错误,无法完成请求。