以下列举一些陌生又熟悉的响应状态码

101 Switching Protocols (切换协议)

服务器已经理解了客户端的请求,并将通过 Upgrade 消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应最后的空行后,服务器将会切换到在 Upgrade 消息头中定义的那些协议。

例如在使用websocket协议时实现会先得到一个101的请求结果,后续就使用了ws协议来交互

204 No Content (无内容)

服务器成功处理了请求,但在返回的响应报文不含任何实体内容。比如:页面上有一个a标签,它的href属性设置的是http-204.html,点击a标签,正常情况下会跳转到http-204.html。但是,如果http-204.html的响应码是204,则页面不跳转,停留在当前页。

例如跨域请求中,浏览器对于每一个请求前都会发送一个OPTIONS的请求,该请求成功是会返回204

304 Not Modified (未修改)

该状态码表示所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源。

针对一些静态资源,或者说静态网站,客户端可以使用缓存的内容提高访问速度。