说到HTML状态码,很多人表示一脸懵逼。当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含http状态码的信息头(server header)用以响应浏览器的请求。在这些HTML状态码中有一部分是HTML状态码,HTML状态码一般情况下有以下5种类型。
1.消息
这一类型的状态码,代表请求已被接受,需要继续处理。
- 100 Continue:服务器已经接收到请求头,并且客户端应继续发送请求主体。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应。
- 101 Switching Protocols:服务器已经理解了客户端的请求,并将通过Upgrade消息头通知客户端采用不同的协议来完成这个请求。。在发送完这个响应最后的空行后,服务器将会切换到在Upgrade 消息头中定义的那些协议。
- 102 Processing:服务器已经收到并正在处理请求,但无响应可用。
2.成功
这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。
- 200 OK:请求已成功,请求所希望的响应头或数据体将随此响应返回。
- 201 Created:请求已经被实现,而且有一个新的资源已经依据请求的需要而建立,且其 URI 已经随Location 头信息返回。
- 202 Accepted:服务器已接受请求,但尚未处理。正如它可能被拒绝一样,最终该请求可能会也可能不会被执行。在异步操作的场合下,没有比发送这个状态码更方便的做法了。
3.重定向
这类状态码代表需要客户端采取进一步的操作才能完成请求
- 301 Moved Permanently:被请求的资源已永久移动到新位置。
- 304 Not Modified:表示资源未被修改。如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。304响应禁止包含消息体,因此始终以消息头后的第一个空行结尾。
4.客户端错误
这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。
- 400 Bad Request:由于明显的客户端错误,服务器不能或不会处理该请求。
- 401 Unauthorized:401语义即“未认证”,即用户没有必要的凭据。该响应必须包含一个适用于被请求资源的 WWW-Authenticate 信息头用以询问用户信息。客户端可以重复提交一个包含恰当的 Authorization 头信息的请求。
- 403 Forbidden:服务器已经理解请求,但是拒绝执行它。
- 404 Not Found:请求失败,请求所希望得到的资源未被在服务器上发现,但允许用户的后续请求。
5.服务器错误
表示服务器无法完成明显有效的请求。
- 500 Internal Server Error: 通用错误消息,服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。
- 501 Not Implemented: 服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何资源的请求。
- 503 Service Unavailable: 由于临时的服务器维护或者过载,服务器当前无法处理请求。
在了解了以上5种HTML状态码之后,我们应对网页和服务器中的状态描述也更加精确。在本站的HTML视频教程中,对于每一个状态码包含的信息都给与了详细的介绍,我们可以记在脑海中,在后面的学习中大概率会用到的。