九·一八事变,又称奉天事变、柳条湖事件。是1931年9月18日夜日本在中国东北蓄意制造并发动的一场侵华战争,是日本帝国主义侵华的开端。
一、基础
HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。它由RFC 2616规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774与RFC 4918等规范扩展。所有状态码的第一个数字代表了响应的五种状态之一。所示的消息短语是典型的,但是可以提供任何可读取的替代方案。除非另有说明,状态码是HTTP/1.1标准(RFC 7231)的一部分。HTTP状态码的官方注册表由互联网号码分配局(Internet Assigned Numbers Authority)维护。
二、常见错误码
400
- Bad Request,往往因为语法错误而无法被服务端理解
413
Request Entity Too Large,请求体过大,一般出现在上传大文件请求
解决办法
- 修改nginx配置文件
1
client_max_body_size 8M; ## 设置客户端请求体最大值
- 修改php.ini
1
2post_max_size = 8M # 整个表单提交的最大限制
upload_max_filesize = 2M # 上传单个文件的最大限制
499
nginx独有,表示在收到客户端完整的HTTP request前,客户端试图关闭TCP连接导致
下载nginx-1.16.1.tar.gz,解压到nginx-1.16.1目录,打开
nginx-1.16.1/src/http/ngx_http_request.h
文件,见499定义:1
2
3
4
5
6
7/*
* HTTP does not define the code for the case when a client closed
* the connection while we are processing its request so we introduce
* own code to log such situation when a client has closed the connection
* before we even try to send the HTTP header to it
*/
#define NGX_HTTP_CLIENT_CLOSED_REQUEST 499复现
- 定义处理请求脚本
index.php
,直接加入sleep(10);
- 通过curl请求
curl -m 2 http://localhost/index.php
- 查看访问日志
tail -n 10 access.log
- 定义处理请求脚本
500
502:Bad Gateway是指错误网关,无效网关
- 一般可通过是杀死php-fpm进程再请求web来复现
503
Service Temporarily Unavailable,即服务暂时不可用,一般由于临时的服务器维护或者过载,服务器当前无法处理请求。504
-
- 由于启动用户和nginx工作用户不一致所致
- 缺少index.html或者index.php文件
- 权限问题,如果nginx没有web目录的操作权限
- SELinux设置为开启状态(enabled)的原因
nginx状态码定义
1 | #define NGX_HTTP_CONTINUE 100 |