12 | 响应状态码该怎么用?
在HTTP中,客户端,服务端通过响应状态码就客户端请求处理情况进行交互。
响应状态码是一个3位10进制数,从100-599,分为5类:
1xx 表示协议处理处于中间状态,还需要后续操作
- 100 Continue 表示服务器已经就绪,期待收到后继客户端的请求;使用场景是,客户端准备上传大文件,首先在请求中包含头字段Expect:100-continue,服务器回应100 Continue,表示已就绪,客户端继续发送携带body的请求。
- 101 switching protocols, 表示协议升级,如webSocket中从HTTP切换到ws,细节见38讲,无法验证。
2xx 正常返回
- 200 OK,表示请求成功,具体返回的内容和请求方法有关。
- 201 Created ,表示资源已经在服务器上成功创建,URL要么是请求的URI或response头中带的Location,通常用于post请求。
- 204 No Content,表示请求成功执行,并不需要离开当前页面,如用put更新资源,暗示客户端无需刷新页面。
- 206 Partial Content,表示请求成功执行,并返回请求的部分数据,具体是客户端请求用range头部定义待获取的数据片段,服务端用content-type,content-range回应,如果是请求range头部包含多个片段,则服务端content-type固定为:multipart/byteranges,后继子片段再包括具体子片段类型和数据范围。
3xx 重定向
- 301 moved permanently jd.com —> https://www.jd.com
- 302 Found [moved temporarily] 临时重定向到Location指定的URI,同时暗示重定向时不应更