一、http状态码
(1)http状态码
1XX:信息,服务器收到请求,需要请求者继续执行操作
2XX:成功,操作被成功接收并处理
3XX:重定向,需要进一步的操作以完成请求
4XX:客户端错误,请求包含语法错误或无法完成请求
500:服务器错误,服务器在处理请求的过程中发生了错误
(2)200 OK
表示服务器已成功处理了请求
(3)304重定向
ETag:服务端资源唯一标识符(优先级高于Last Modified)
Last-Modified:资源在服务器最后修改的时间(精确到秒)-> 所以需要唯一标识符
访问流程:
-
第一次访问index.html(响应头)-- 200 OK
-
第二次访问index.html(响应头/请求头)-- 304 Not Modified
-
修改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
说明返回资源的语言类型