http 总结

目录

一、常见状态码

二、http headers

1.常见的 Request Headers

2.常见的 Response Headers

三、http 缓存

1.缓存的作用

2.哪些资源可以被缓存?

3.缓存策略(强制缓存 + 协商缓存)

强制缓存

协商缓存(对比缓存) 

缓存流程图

4.刷新的方式对缓存的影响


一、常见状态码

        1xx 服务器收到请求

        2xx 请求成功

        3xx 重定向

                301 永久重定向:浏览器会记住哪个网址返回了301,让你到哪个地址去,下次再访问的时候就不访问原地址了,直接访问301返回的地址。例如:网站域名到期了(配合 location,浏览器自动处理)

                302 临时重定向(配合 location,浏览器自动处理)

                304 资源未被修改

        4xx 客户端错误(404 not found、403 无权限 )

        5xx 服务端错误

二、http headers

1.常见的 Request Headers

  • Accept 浏览器可接收的数据格式
  • Accept-Encoding: gzip,浏览器可接收的压缩算法
  • Accept-Language: zh-CN,浏览器可接收的语言
  • Connection: keep-alive,一次TCP连接重复使用
  • Cookie: ,同域时,每次资源请求浏览器都会携带cookie
  • Host: www.baidu.com,请求的域名
  • User-Agent(简称UA) ,浏览器信息
  • Content-Type: ,发送数据的格式(一般get请求是没有的)

2.常见的 Response Headers

  • Content-Type: 返回数据的格式
  • Content-length: 返回数据的大小,多少字节
  • Content-Encoding: gzip 返回数据的压缩算法
  • Set-Cookie: 服务端设置cookie
  • Cache-Control: 控制缓存的策略

        max-age=30000  最大过期时间(秒)

        no-cache 不用强制缓存,让服务端自己处理(协商缓存)

        no-store 不用本地缓存,也不用协商缓存

        private 允许最终用户做缓存,如电脑、手机等

        public  中间路由或者代理做缓存

        后三个不常用

三、http 缓存

1.缓存的作用

可以通过缓存来减少网络请求的数量和体积,让网络加载和页面渲染更快;

网络的不稳定性也导致了页面加载的不稳定性,所以需要优化网络请求,增加页面加载的稳定性;

2.哪些资源可以被缓存?

静态资源( js、css、image )

3.缓存策略(强制缓存 + 协商缓存)

强制缓存

浏览器初次请求服务器,服务器会返回资源和 Cache-Control(如果服务器认为该资源可以被缓存,才加Cache-Control,如 js css image),再次请求时会判断缓存时间,如未过期,浏览器就会在本地缓存中找资源,然后返回给浏览器。如果缓存失效,就会再次请求服务端。

通过 Cache-Control 控制缓存的策略,用法见 Response Headers

协商缓存(对比缓存) 

资源标识在 Response Headers 中,有两种,

Etag: 资源的唯一标识(一个字符),如 Etag: "1ec5-500266e2ae4c0"

Last-Modified: 资源最后修改时间(精确到秒)

二者可以共存,优先使用 Etag

原因:Last-Modified 只能精确到秒;如果资源被重复生成,而内容不变,则 Etag 更精确。

缓存流程图

4.刷新的方式对缓存的影响

正常操作:url 跳转、前进后退                           (强制缓存有效、协商缓存有效)

手动刷新:f5、点击刷新按钮、右键菜单刷新   (强制缓存失效、协商缓存有效)

强制刷新:ctrl + f5                                            (强制缓存失效、协商缓存失效)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值