2XX 表示正常处理
200 OK 表示正常处理
GEt方法,会返回 请求资源的实体。
HEAD方法,会返回 请求资源的实体首部,不返回主体。
204 NO content 请求处理成功,但是没有资源可以返回。
对于一些提交到服务器处理的数据,只需要返回是否成功的情况下,可以考虑使用状态码204来作为返回信息,从而省掉多余的数据传输。
206 partial content 进行了范围请求,成功执行了get请求。
由content-range指定范围的实体内容。
3XX 重定向 浏览器需要执行某些特殊的处理以正确处理请求
301 moved permanently 永久重定向
被请求的资源已永久移动到新位置,比较常用的场景是使用域名跳转。
如果已经把URL保存为书签,则需要重新更新书签。
302 Found 临时重定向
资源并非永久移动,只是暂时移动,
如果已经把URL保存为书签,不需要重新更新书签。
304 not modified
如果客户端发送了一个带条件的GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个304状态码。简单的表达就是:客户端已经执行了GET,但文件未变化。
客户端是怎么知道这些内容没有更新的呢?其实这并不是客户端的事情,而是你服务器的事情,大家都知道服务器可以设置缓存机制,这个功能是为了提高网站的访问速度,当你发出一个GET请求的时候服务器会从缓存中调用你要访问的内容,这个时候服务器就可以判断这个页面是不是更新过了,如果未更新过那么他会给你返回一个304状态码。
4XX 客户端错误
400 bad request 请求报文中存在语法错误,需要修改后再次发送请求。
401 unauthorized 需要认证,
比如校园网登录,浏览器初次接收到401响应,会弹出认证用的对话窗口。如果之前已经进行过一次请求,则返回认证失败。
403 forbidden 请求被服务器拒绝了。
比如访问权限原因(从未授权的IP地址进行访问),比如校园网限制校外IP访问
404 not found 无法找到请求资源,也可以用于拒绝访问且不想说明理由。
5XX 服务器错误
500 internal server error
服务器端在执行请求时发生错误。
503 service unavailable
表明服务器暂时处于超负载或正在进行停机维护。