25.3、http状态码、accept、Content-Type
作者:
一土二月鸟 | 来源:发表于
2020-06-28 23:02 被阅读0次
http报文状态码
- 报文状态码都是由服务器返回的
- 1XX
- 代表服务器收到请求后,要求客户端继续执行操作。
- example:post请求,会在tcp第三次握手时,将http请求头传输到服务器进行确认,服务器返回100代表可以继续将其余信息请求服务器。
- 2XX
- 3XX
- 304:代表从浏览器缓存中获取的资源数据,而非服务器返回的最新数据。
- 原理:服务器在第一次响应时,会在response-header中,存放etag和last-modified,分别代表该资源在服务器的id和最后一次修改时间。当刷新页面时,如果request-header中带有if-Modified-since(时间)和if-None-Match(id),这两参数值如果和服务器上的资源信息一致,则服务器直接返回304,告知浏览器从缓存中获取资源即可。当服务器的资源发生变动时,服务器返回的etag和last-modified都会发生变化。
- 302:通过请求服务器返回一个新的页面。此时发起请求的这个连接会返回302状态码。
- 4XX
- 属于客户端未遵守协议,引起的错误
- 404:页面不存在
- 403:访问被禁止,无权限访问
- 406:如果request header中的accept和repsonse返回的类型不一致,则会返回406.
- 400:域名不存在或者字段名或字段类型不符合后端要求
- 5XX
- 服务器出现问题
- 500:代表服务器出现未知的异常,需要排查服务器程序
- 503:服务器内部程序溢出,暂时无法访问,重新请求可能会正常
Accept
- 代表客户端希望接收的资源类型,如果服务器返回的类型不符合accept,则http状态码为406。
- accept通过request header进行指定
- q代表质量因子,q越大,优先级越高。‘,’代表分隔符,‘;’代表质量因子。如果没有q的情况下,的优先级最低。比q的优先级要高。
Accept-language
- 代表浏览器支持的语言类型。同样可以通过q来区分优先级。
- 存放在request header中
Accept-encoding
- 代表浏览器希望得到的文件压缩形式
- 如:gzip, deflate, br
Content-type
- 代表服务器发送的的文件类型,及字符编码。
- 存放到request-header或response-header中。
Content-language
- 代表服务器返回的语言类型
- 存放到response-header中
Content-encoding
本文标题:25.3、http状态码、accept、Content-Type
本文链接:https://www.haomeiwen.com/subject/bhbgfktx.html
网友评论