【运维面试】面试官:http的状态码你了解多少?

前言

这又是一个送分题,很多小伙伴总觉得自己知道的少,其实知识就在那里,即使你工作三年,不去学习,也一样不知道。
工作经验需要的是多观察,多学习,而不是因为有了工作经验就会了。

http状态码分类

100-199 信息提示状态码

表示正在处理

200-299 表示成功状态码

200 OK : 从客户端发来的请求在服务器端被正常处理了,实体的主体部分包含了所请求的资源。
204 No Content:该状态码表示服务器接收到的请求已经处理完毕,但是服务器不需要返回响应体。

300-399 重定向

告诉客户端使用代替的位置来访问他们感兴趣的资源,要么就提供一个替代响应而不是资源内容。如果资源已经被移走,可以告知客户资源被移走,需要跳转到哪里可以找到。

301 Moved Permanently:永久性重定向。

302 Found:临时性重定向。

400-499 客户端错误

4XX 的响应结果表明客户端是发生错误的原因所在。但很多4xx错误都被浏览器解决了,所以用户经常看到的也就是404了。

  • 400 支出客户端请求中的语法错误
  • 403 该状态码表明对请求的资源的访问被服务器拒绝了。
  • 404 Not Found:表明服务器上无法找到请求的资源。一般还会包含一个实体(比如404页面),以便客户端给用户看。

500-599 服务器错误

  • 500 Internal Server Error:该状态码表明服务器端在执行请求时遇到了一个妨碍它为请求提供服务的错误,也有可能是 Web 应用存在的 bug 或某些临时的故障。
  • 501 Not Implemented:客户端发起的请求超出服务器的能力范围(比如使用了服务器不支持的请求方法)
  • 502 Bad Gateway:服务器的忘关错误
  • 503 Service Unavailable:该状态码表明服务器暂时处于超负载或正在进行停机维护,现在无法处理请求
  • 504 Gateway Timeout:与408类似,只是这里的响应来自一个网关或者代理,他们等待另一个服务器对齐请求进行响应超时了。

如何回答

回答这类问题,其实只要拿出几个来举例子就可以了,当然面试官更想要的是你解决问题的思路。

比如:
范例一:
http的状态码有很多,其中4XX表示客户端错误,5XX表示服务器错误,像上次我就遇到了一个5xx的错误,服务器报500, 一般这样的情况,都是先看服务的进程还在不在,然后查看日志,服务日志,访问日志,系统日志,从这些日志里找问题可能出现的蛛丝马迹

但那次我查看了后台进程,服务器的配置,数据库,一切正常,而且使用IP访问是可以访问后台的,也能获取数据,只有域名不行。 后来对域名进行了排查,发现服务的域名丢失,前台调用这个服务是通过域名调用的,所以出现了500的错误。

范例二:
我们的网站在首页退出后,按照流程返回的界面是最初登陆的界面,但有一次退出登陆后返回的是500报错,于是查看tomcat的inputs参数,检查log out对应的URL链接地址,换成正确的地址之后,解决了这个问题

总结

面试最重要的其实考察的是解决问题的能力和思路,所以不要只是冷冰冰的回答5XX是服务器错误,而是应该举个例子,说说自己解决问题的思路。

猜你喜欢

转载自blog.csdn.net/xinshuzhan/article/details/108544822