• 缓存的理解


    浏览器资源访问过程:

    1.当访问静态资源文件时,首先使用url hashcode作为key查询本地资源缓存。

    2.如果没找到资源,那么直接访问浏览器,然后将请求的资源文件缓存并载入到html中。

    3.如果找到资源,读该资源在服务器创建的的时间,加入http响应头If-Modified-Since: Thu, 30 Oct 2014 22:36:24 GMT,并发送到服务器。

    4.服务器根据url进行查找资源,如果未找到,返回404。否则读取资源创建时间,给出响应状态吗。

    5.浏览器如果收到404,会清空hascode对应的缓存,资源无法加载到html

    6.浏览器如果收到 304,检查Last-Modified:Thu, 30 Oct 2014 22:36:24 GMT,如果(Last-Modified=If-Modified-Since),表示文件未被修改,则直接使用本地缓存加载到html.

    7.比较之后,如果服务器>浏览器,则重新请求资源。

    8.如果是200,则进行本地缓存更新  Last-Modified>If-Modified-Since,并加载到html。

    缓存状态:

    200 OK (from cache) 是浏览器没有跟服务器确认,直接用了浏览器缓存;

    304 Not Modified 是浏览器和服务器多确认了一次缓存有效性,再用的缓存。

    200(from cache) 是速度最快的,因为不需要访问远程服务器,直接使用本地缓存.304 的过程是, 先请求服务器, 然后服务器告诉我们这个资源没变, 浏览器再使用本地缓存.

  • 相关阅读:
    css3新特性合集
    前端面试必备的css盒子模型
    激动人心的第一天啊
    Simulink 自动代码生成原理
    什么是 Target Language Compiler
    A*算法 (MATLAB) -路径搜索
    路径搜索 – Dijkstra 算法 (MATLAB实现)
    客户端测试
    test
    【AtCoder Regular Contest 110 选做】D
  • 原文地址:https://www.cnblogs.com/honghong87/p/9186076.html
Copyright © 2020-2023  润新知