计算机之间的通信以协议为共同基础,客户端和服务端都按照协议的约定进行通信。HTTP的状态码就在HTTP的协议内,规定了很多的状态。客户端请求服务端后,服务端就返回结果,同时返回状态码。告诉客户端,本次请求是成功了还是失败了,还是要客户端做什么操作。那为什么不使用文本状态码呢?不是更加清晰直观吗?这是因为这些状态协议里面已经规定了,提到状态码,就是表示本条状态。
状态码分为1-5开头的CODE,以下依次说明,请仔细阅读噢
1**
类状态码称之为Information 状态吗,表示信息正在处理。
2**
类状态码称为为Success状态码,表示请求正常完成。
3**
类状态码称之为Redirection 状态码,表示需要客户端进行附加操作(如跳转。重定向)
4**
类状态码称之为Error状态码,通常是由于客户端的错误导致的。
5**
类状态吗称为Server Error状态码,通常是服务端的错误导致的。
小结下:状态码分为客户端错误状态码、服务端错误状态码、成功状态码,重定向状态码等。
1**
不常见到哈,直接从2开始讲了
200(ok)
示从客户端成功发出去请求到服务端了,服务端也接收到了这条请求并正确返回
204
No Content 请求已经成功了,但是却没有返回任何结果(实体)。通常使用php die() exit()函数会引发204状态码
206
Partial Content 范围请求状态码。
301
Moved Permanently 表示你请求的页面资源现在已经转移位置了,你需要到新的地方去需找该页面。这个即重定向,服务器的response首部里会有location字段值来提示。
302(Found)
和301
差不多。表示你请求的页面资源现在已经转移位置了,你要到新的地方去寻找。但是新的地方也不是固定的,说不定过几天还要换。不提示用户保存书签,提示用户跳转。
303
See other .表示你请求的页面中包含着你想要拿到资源的地址。比如你到门卫处去取快递,到了门卫处,大爷说快递已经交给前台了。这个过程会返回303状态码。
304
Not Modified 表示资源已经找到了,但是和上次相比没有更新。浏览器读取缓存。
307
Temporary Redirect 临时重定向。
400
Bad Request 报文语法错误。
401
Unauthorized 需要通过HTTP认证(BASIC 或者DIGEST).
403
Forbidden 目录、文件权限错误都会报此状态码。
404
服务器上无此资源,一般情况为路径错误。
500
Internal Server Error 服务端错误,有可能是WEB应用存在错误。
502
Internal Server Error服务端错误,有可能是服务端服务以及停止运行。
503
Serveice Unavailable 服务器超负荷运行。