标签:缓存 浏览器 记录 过期 header cookie http
http是一种基于C/S架构的通讯协议,可以在web上进行数据交换,能够获取网络资源 如html
http是通信协议,在osi模型中属于会话层,连接属于传输层。
http无连接,无状态,可扩展
s端处理完c端的请求之后,并收到c端的应答之后,断开连接。
使用cookie可创建有状态的会话
http header可以用来扩展http协议
GET POST DELETE PUT OPTIONS HEADE TRACE CONNECT
通用首部字段
Cache-control 控制缓存行为
connnection:keep-alive 长链接
Transfer-coding:传输编码
warning 缓存相关的警告信息
请求首部字段
accept客户端接受的媒体类型
accept-charset表示客户端支持的字符集
Accept-Encoding 表示客户端支持的编码格式/
响应首部字段
content-type
实体首部字段
HTTP内容类型
request header 的 accept 要和 content-type 保持一致,这样请求才能正常接收
application/json --响应数据时objecy
text/html ----响应数据是html字符串页面
图片文件image/png image/gif image/jpeg
上传文件如上传excel application-octet-stream
HTTP状态码
200 OK 请求成功
206 服务端返回了request header 要求的 range 字节范围的内容、
200 (from memory /disk cache) 强制缓存
304 协商缓存
404 找不到此资源
403 拒绝此请求
405 请求中的方法被禁止
500 服务器错误
502 无效响应
HTTP缓存
协商缓存,以图片资源访问的304为例,为什么会出现304
浏览器第一次访问图片资源时,缓存里是没有这个资源数据的,服务器会将这个资源数据和资源标识返回回来,浏览器把此数据和标识存储到本地缓存中(内存和硬盘中)。等到浏览器再次访问此资源时,会把此资源标识发送给服务器,体现在request header里面 if-modify-since if-no-match 服务器对比此资源标识,体现在response header里面 last-modified etag,判断出是之前发过的那个,就只返回头部,不反悔实体部分,浏览器就从缓存里取,这个时候状态吗就是304
强制缓存
浏览器中常见的200(from memroy,disk cache) response header 会有 cache-control:max-age:XXXX expire:过期时间点 告知浏览器多久之后或者哪个时间点过期,浏览器判断没过期,就直接从缓存中取,不再发请求。
COOKIE
Set-Cookie: key=value;httponly secure domain path expire
httponly表示此cookie只能发送给服务端,不能被js api访问
secure表示只能通过https这种加密过的协议请求发送给服务器
domain指定cookie生效的主机
path指定cookie生效的目录 一般是根目录 /
expire过期时间点
max-age多久后过期
只有持久性cookie才有expire max-age 时间一过之后即过期
会话期cookie浏览器关闭就过期
标签:缓存,浏览器,记录,过期,header,cookie,http 来源: https://www.cnblogs.com/carolddz/p/16353925.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。