网络-5【缓存、长短连接、Content-Length、referrer】

一.缓存

(1).缓存

把已请求并返回的WEB资源(HTML页面,图片,js文件,css文件,数据等)复制成一个副本存储在浏览器的缓存中

缓存的好处

1.减少网络带宽的消耗

2.降低服务器压力

3.减少网络延迟

(2).Pragma:no-cache(响应头)

指示浏览器忽略资源缓存副本(该缓存还是缓存),每次访问需要到服务器获取

http1.0中字段,http1.1用Cache-Control替代(http协议向下兼容,所以很多网站依旧有这个字段)

(3).Cache-Control缓存控制(响应头)

no-cache

指示浏览器忽略资源缓存副本,强制到服务器获取资源(浏览器依然缓存)

no-store

强制缓存在任何情况下都不要保留任何副本

max-age=31536000

指示缓存副本的有效时长,从请求时间开始到过期时间之间的秒数

public

表示响应可以被任何对象(包括:发送请求的客户端,代理服务器,等等)缓存

private

表明响应只能被单个用户缓存,不能作为共享缓存(即代理服务器不能缓存它)

(4).Expires:Mon,15Aug 2016 03:56:47 GMT(Cache-control优先)

格林尼治时间,我们处于东八时区,所以东+西- 返回时间加八

启用缓存和定义缓存时间。告诉浏览器资源缓存过期时间,如果还没过该时间点则不发请求

在HTTP1.1版开始,使用Cache-Control:max-age=秒替代

(5).浏览器缓存步骤图示

服务端返回一个Etag-lastmodified  客户端再发送一个if-None-Match/if-modified-since

客户端的if-none-match是服务端返回的Etag,服务端验证Etag相等,再验证是否修改,是响应200还是304

二.长短连接

(1).Connection:Keep-alive

Http短连接与长连接

短连接(串行连接)

就是每次请求一个资源就建立连接,请求完立马关闭

长连接(持久化连接,管道持久化连接)

只建立一次连接,多次资源请求都复用该连接,完成后关闭

 

HTTP版本长连接

早期的http每次都要建立TCP/IP连接

后期的http1.0在请求头增加Connection:keep-alive

http1.1默认开启 Connection-keep:keep-alive 如需关闭: Connection:close

注意:Connection:keep-alive在大多数浏览器中都默认使用HTTP/1.1服务器也须由相应的支持才能达成C/S协议进行长连接

三.Content-Length

用于描述HTTP消息实体的传输长度

案例

表单提交-view source - request headers - contentlength

服务器返回123456-response headers-contentlength

GET请求

请求头没有content-length ,响应头带

Post请求

请求头和响应头都有,请求头中的长度是formData的长度a=1&b=2

四.referrer

来源域名,referrer是request header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的

案例

google搜索腾讯课堂->打卡查看请求头中的Referer->https://www.google.com

好处

可通过Referer分析不同渠道的流量分布,用户搜索的关键词

不发送Referer信息

<meta name="referrer"  content="no-referrer">

Referrer Policy:no-referrer

无referer字段

只发送Referer:origin

<meta name="referrer" content="origin">

Referrer Policy:origin

Referer:http://localhost/

发送Referer信息

Referrer Policy:no-referrer-when-downgrade

仅当协议降级(如HTTPS页面引入HTTP资源)时不发送Referer信息。是大部分的浏览器默认策略

Referer:http://localhost/network/class5/

七牛

防盗链可以通过Referer防盗链和时间戳防盗链来实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值