http状态码、accept、Content-Type

本文深入解读HTTP状态码200、304和302,以及Accept头中的内容类型、编码和语言,教你理解浏览器缓存机制,提升Web开发中资源请求的优化实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、http状态码

(1)http状态码

1XX:信息,服务器收到请求,需要请求者继续执行操作
2XX:成功,操作被成功接收并处理
3XX:重定向,需要进一步的操作以完成请求
4XX:客户端错误,请求包含语法错误或无法完成请求
500:服务器错误,服务器在处理请求的过程中发生了错误

(2)200 OK

表示服务器已成功处理了请求

(3)304重定向

ETag:服务端资源唯一标识符(优先级高于Last Modified)

Last-Modified:资源在服务器最后修改的时间(精确到秒)-> 所以需要唯一标识符

访问流程:

  1. 第一次访问index.html(响应头)-- 200 OK
    在这里插入图片描述

  2. 第二次访问index.html(响应头/请求头)-- 304 Not Modified
    在这里插入图片描述

  3. 修改Index.html第三次访问(响应头/请求头)-- 200 OK
    在这里插入图片描述

请求头的if-modified-since、if-None-match是上一次响应头的ETag、Last-modified
(第一次请求还没有if-modified-since、if-None-match)

口述:
客户端发送请求到服务端,服务端返回ETag、Last-modified在响应头,状态码为200 OK

第二次发送,如果请求头的if-modified-since、if-None-match与响应头的Last-modified、Etag一致则采用本地缓存,状态码为304 not modified

第三次发送,只要修改了资源,服务端会自动保存新的Etag和Last-modified,状态码为200 OK

(4)302重定向

通过服务器程序重定向(跳转到新的页面) ,新页面的状态码为302 Found

(5)404页面错误

页面不存在,状态码为404 Not Found

(6)403服务器拒绝请求

服务器拒绝请求(服务器关闭,没有权限访问服务器),状态码为403 Forbidden

(7)500服务器发生不可预测的错误

服务器发生不可预测的错误,状态码为500 Internal Server Error

(8)503服务器不能处理客户端请求

服务器当前不能处理客户端请求(关闭应用程序池或者程序标识出错或者程序池队列已满),
状态码为503 Server Unavailable

二、Accept (请求头)

(1)Accept

在这里插入图片描述

Accept:代表客户端希望接收的数据类型

q:相对品质因子,权重,它从0到1的范围指定优先顺序,没有指定,质量值默认为“q=1”,如赋值为0,则提醒服务器该内容类型不被浏览器接收

格式:type;q=value, type;q=value(逗号分割)

例如:Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/apng,/;q=0.8
          最希望接收到text/html,application/xhtml+xml, 其次是application, 再其次是其它任意数据类型

:通配符,/*任意类型

(2)Accept-Encoding

Accept-Encoding:gzip, deflate, br
浏览器可以接受的资源编码格式(压缩格式)

(3)Accept-Language

Accept-Language:zh-CN,en-US;q=0.8,en;q=0.6
浏览器支持的语言是简体中文、其次是美国英语、再其次是其他形式的英语

三、Content-Type (响应头)

(1)Content-Type

在这里插入图片描述
Content-Type:返回资源类型与编码

例如:Content-Type: text/html; charset=UTF-8(Accept-Charset)

(2)Content-Encoding

COntent-Encoding:gzip

服务器返回资源的编码格式(压缩个事,优化传输内容的大小)

(3)Content-Language

Content-Language:zh-CN

说明返回资源的语言类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值