zoukankan      html  css  js  c++  java
  • 浏览器缓存机制介绍 + 常用 http 状态码

    浏览器缓存分为两种, 强制缓存  与  协商缓存,

    https://www.pass4lead.com/300-209.html
    https://www.pass4lead.com/300-320.html

        强制缓存有  在 header 中的 expires 设置一个过期时间,如设置则未过期文件将不请求服务器直接使用缓存,这个的缺点是服务器时间与客户端时间可能不一直.    另一种是 cache-control,通过设置 cache-control 的 max-age 设置相对过期时间,单位 秒,可以相对于客户端请求的时间之后多长时间之内直接使用 缓存.
        协商缓存有 Last-Modified 标记最后文件修改时间,如果文件修改时间没有变更则返回 304 直接使用本地缓存,通常服务器与浏览器会自动完成此字段的.   另外一种是 Etag,这种方式是看文件内容是否变更而非通过修改时间,这样就避免了 a -> b -> a 这种虽然有修改但是实际内容并未发生变化的情况.这种方式的缺点是需要发送一次请求向服务器,用于确定是否使用缓存,而 强制缓存则无需向服务器发送请求,浏览器会直接使用未过期的缓存.
        优先级  cache-control > expires > Etag > Last-Modified

    https://www.pass4lead.com/200-355.html
    https://www.pass4lead.com/210-060.html

        浏览器刷新方式有三种, ctrl + f5, f5, 地址栏输入地址按回车.ctrl + f5 方式会强制重新请求并重新缓存,上述机制均无效.   f5 刷新只有 Last-Modified 这种机制有效,   输入地址回车的方式上述机制都有效
     
    最后附上常用 http 状态码含义
    200 :    正常请求
    201:     服务器接收到请求,一个新的资源已经建立
    202:    服务器接收到请求,新的资源尚未被建立
    204:    服务器已经成功处理请求,并且无需返回信息
    300:    资源重定向
    301:     资源永久重定向,常用于服务器搬迁,对搜索引擎的友好提示,不会损失seo
    302:     资源临时从不同 url 响应
    303:     资源可以在另一个 url 找到,临时重定向
    304:    服务器已经接收到请求,但是请求的文档并未发生改变,应使用缓存的内容
    400:    语义有误,服务器无法理解
    401:    当前请求需要用户验证
    403:   服务器已经理解请求,但是拒绝连接
    404:    服务器没有找到对应的资源
    500:    服务器遇到一个未知的错误
     
     
  • 相关阅读:
    UML 入门课程
    在Visio中建立数据库模型的步骤
    phpMyAdmin
    采用软件负载均衡器实现web服务器集群
    Javascript 调用后台方法
    log4net 使用相关要点汇总
    静栈/动堆
    国外web 2.0网站模板
    yum应用学习笔记
    分页 : 存储分页 :row_number
  • 原文地址:https://www.cnblogs.com/sunshq/p/9273320.html
Copyright © 2011-2022 走看看