zoukankan      html  css  js  c++  java
  • 在地址栏回车 浏览器做了哪些动作

    三种行为  地址栏回车  F5  ctrl+F5

    一、地址栏回车,

    观察Chrome下的行为,由于该页面已经访问过,而且设置了cache-control,所有资源文件在network一栏都是200 from cache,注意这个200不是服务器返回的。

    对于本页面则会得到一个304,说明浏览器会对地址栏的地址无论如何发送一个请求,并在header里带上 if-modified-since。

    二、按下F5,

    该行为会触发浏览器对所有资源重新请求,并在header里带上 if-modified-since,因为资源没有变化,得到的响应式304。

    三、Ctrl+F5, 

    Ctrl+F5要的是彻底的从Server拿一份新的资源过来,所以不光要发送HTTP request给Server,而且这个请求里面连If-Modified-Since/If-None-Match都没有,这样就逼着Server不能返回304,而是把整个资源原原本本地返回一份,这样,Ctrl+F5引发的传输时间变长了,自然网页Refresh的也慢一些。

    实际上,为了保证拿到的是从Server上最新的,Ctrl+F5不只是去掉了If-Modified-Since/If-None-Match,还需要添加一些HTTP Headers。按照HTTP/1.1协议,Cache不光只是存在Browser终端,从Browser到Server之间的中间节点(比如Proxy)也可能扮演Cache的作用,为了防止获得的只是这些中间节点的Cache,需要告诉他们,别用自己的Cache敷衍我,往Upstream的节点要一个最新的copy吧。

    在IE6中,Ctrl+F5会添加一个Header

    Pragma: no-cache


    在Firefox 2.0中,Ctrl+F5会添加两个 
    Pragma: no-cache 
    Cache-Control: max-age=0

    作用就是让中间的Cache对这个请求失效,这样返回的绝对是新鲜的资源

  • 相关阅读:
    .csproj文件
    堆栈
    数据库操作(一)
    Math数学函数
    SSM框架下各个层的解释说明
    MyBatis DAO层传递参数到mapping.xml
    Spring MVC3在controller和视图之间传递参数的方法
    注册/登陆界面验证码的作用及代码实现
    input中name和id的区别
    <mvc:default-servlet-handler/>的作用
  • 原文地址:https://www.cnblogs.com/jamesldj/p/3322698.html
Copyright © 2011-2022 走看看