后端经典面试题合集, HTTP 有哪些常见的状态码?
后端经典面试题合集, HTTP 有哪些常见的状态码?
QA
Step 1
Q:: HTTP 有哪些常见的状态码?
A:: HTTP状态码是表示服务器响应客户端请求状态的3
位数字,常见的包括:
1. **200 OK**:
请求成功,服务器返回请求的数据。
2. **301 Moved Permanently**:
资源的URL已被永久改变,客户端应使用新的URL进行访问。
3. **302 Found**:
资源临时移动,客户端仍使用原有URL进行访问,但资源可能已经临时被移至其他位置。
4. **400 Bad Request**:
客户端请求无效,可能是由于请求参数错误或格式错误。
5. **401 Unauthorized**:
请求未经授权,客户端需要提供认证信息。
6. **403 Forbidden**:
服务器理解请求但拒绝执行,通常是由于权限问题。
7. **404 Not Found**:
请求的资源未找到,服务器上没有该资源。
8. **500 Internal Server Error**:
服务器遇到错误,无法完成请求。
9. **503 Service Unavailable**:
服务器暂时无法处理请求,通常是由于服务器过载或维护。
Step 2
Q:: 如何处理 404
Not Found 错误?
A:: 404
错误表示客户端请求的资源在服务器上不存在。处理方法包括:
1. **检查URL**:
确保请求的URL没有拼写错误或路径错误。
2. **提供友好的404页面**: 返回自定义的404
页面,以便用户知道资源不存在,并引导他们返回首页或其他可用的资源。
3. **日志记录**: 记录404
错误的详细信息,以便后续排查问题。
4. **设置重定向**: 如果资源路径发生改变,可以通过301或302
状态码将旧URL重定向到新URL。
Step 3
Q:: 什么是 500
Internal Server Error?如何调试?
A:: 500
错误表示服务器在处理请求时遇到未预期的情况。调试方法包括:
1. **查看服务器日志**: 检查服务器的错误日志,找到导致500
错误的具体原因。
2. **检查代码异常**:
查看代码中是否有未捕获的异常,可能导致服务器无法正常处理请求。
3. **检查资源限制**:
确保服务器的资源(如内存、CPU、磁盘空间等)充足,没有因资源耗尽导致的错误。
4. **重启服务**:
有时临时的错误可以通过重启服务器或服务解决。
5. **使用调试工具**:
使用调试工具或日志记录来追踪代码执行流程,找出异常发生的具体位置。