转自:http://blog.csdn.net/zoohouse/article/details/7552594

概述:

“刷新”是在你现有页面的基础上,检查网页是否有更新的内容。在检查时,会保留之前的一些变量的值,因此有可能会造成刷新后网页出现错误,或者打不开的情况;

“转到”和在地址栏回车,则相当于你重新输入网页的URL访问,这种情况下,浏览器会尽量使用已经存在于本机中的缓存。也就是说,“刷新” 是取网页的新内容来更新本机缓存,在更新的同时保留之前的一些变量;“转到”则是一种全新的访问,它会尽量使用本机缓存中的文件,但不会保留之前的变量,这下应该明白了吧?另外,按着Ctrl,还可以进行强制刷新,跟转到的作用差不多。

详述-地址栏按回车刷新

在地址栏按回车分为两种情况。

一是请求的URI在浏览器缓存中未过期,此时,使用Firefox的firebug插件在浏览器里显示的HTTP请求消息头如下:

Host    192.168.3.174:8080
User-Agent    Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0
Accept    text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language    zh-cn,zh;q=0.5
Accept-Encoding    gzip, deflate
Accept-Charset    GB2312,utf-8;q=0.7,*;q=0.7
Connection    keep-alive

HTTP返回状态显示200 OK,但是请求并没有真正提交到HTTP服务器,而是浏览器发现缓存中还有未过期的文件,直接把请求拦截了,firebug里面显示所谓的“请求头消息”、“响应头消息”都是浏览器“伪造”的。这种刷新,使用的网络流量是最小的,可以说完全没有,时间消耗也是最少的

二是请求的URI在浏览器缓存中已过期,此时,使用Firefox的firebug插件在浏览器里显示的HTTP请求消息头如下:

Host    192.168.3.174:8080
User-Agent    Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0
Accept    text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language    zh-cn,zh;q=0.5
Accept-Encoding    gzip, deflate
Accept-Charset    GB2312,utf-8;q=0.7,*;q=0.7
Connection    keep-alive
If-Modified-Since    Mon, 04 Jul 2011 10:12:40 GMT

多了一行If-Modified-Since,浏览器对这种情况的处理方法是:再问一下服务器,请求的URI在某个时间之后有没有被修改过,而这个时间是由上次HTTP响应的Last-Modified决定的,服务器鉴定之后,如果没有修改则返回304 Not Modified,浏览器收到后,从缓存里读出内容;如果有修改则返回200 OK,并返回新的内容。

详述-按F5刷新
至于F5刷新,其HTTP请求消息头如下:

Host    192.168.3.174:8080
User-Agent    Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0
Accept    text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language    zh-cn,zh;q=0.5
Accept-Encoding    gzip, deflate
Accept-Charset    GB2312,utf-8;q=0.7,*;q=0.7
Connection    keep-alive
If-Modified-Since    Mon, 04 Jul 2011 10:12:40 GMT
Cache-Control    max-age=0

又多了一行Cache-Control: max-age=0,意思是说,我不管浏览器缓存中的文件过期没有,都去服务器询问一下,相当于上次HTTP响应的Expires暂时失效。服务器的响应处理流程同上。

详述-按Ctrl+F5刷新
最后是Ctrl+F5刷新,其HTTP请求消息头如下:

Host    192.168.3.174:8080
User-Agent    Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0
Accept    text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language    zh-cn,zh;q=0.5
Accept-Encoding    gzip, deflate
Accept-Charset    GB2312,utf-8;q=0.7,*;q=0.7
Connection    keep-alive
Pragma    no-cache
Cache-Control    no-cache

If-Modified-Since没有了,Cache-Control换成了no-cache,此外Pragma行是为了兼容HTTP1.0,作用与 Cache-Control: no-cache是一样的。意思是,我不要缓存中的文件了,强制刷新,直接到服务器上重新下载,于是服务器的响应处理与首次请求这个URI一样,返回 200 OK和新的内容。这种刷新,使用的网络流量是最大的,也是最耗时的。

转载于:https://www.cnblogs.com/kevinq/p/4822140.html

在浏览器地址栏按回车、F5、Ctrl+F5刷新网页的区别相关推荐

  1. 在浏览器地址栏按回车、F5、Ctrl+F5刷新网页的区别--转

    其中,在地址栏按回车又分为两种情况.一是请求的URI在浏览器缓存中未过期,此时,使用Firefox的firebug插件在浏览器里显示的HTTP请求消息头如下: Host    192.168.3.17 ...

  2. 浏览器: F5和 Ctrl+F5的区别

    刚修改了所有的首页,全部加上了帮助firefox来创造世界奇迹! 不过现在有个问题,好几个首页必须按下ctrl+f5才能看到最新的效果.网上找了一片说f5和ctrl+f5区别的文章,写的很全面. -- ...

  3. 【前端指南】f5与ctrl+f5的区别

    文章目录 f5和ctrl+f5 f5 ctrl+f5 f5与ctrl+f5的区别 f5 ctrl+f5 缓存 缓存优点 缓存协商和彻底缓存 f5和ctrl+f5 f5 第一次打开某网页,全部资源从服务 ...

  4. F5与Ctrl+F5及地址栏输入地址回车

    按F5等同于点击页面地址栏的刷新图标. 地址栏输入地址然后回车: 根据缓存内容是否过期决定是否发送请求给服务端 F5: 浏览器无论如何都得发送请求给服务端,包含If-Modified-Since/If ...

  5. 火狐浏览器刷新ctrl+F5

    火狐浏览器刷新ctrl+F5 转载于:https://www.cnblogs.com/nimezi/p/4334740.html

  6. 浏览器强制刷新快捷键 ctrl+F5

    强制刷新  ctrl+F5 转载于:https://www.cnblogs.com/phper-martin/p/3461528.html

  7. ctrl+f5 强刷新

    某次同学上线了一个服务 ,怎么刷新都不管用,但是又不想清楚浏览器缓存. F5通常只是刷新本地缓存: Ctrl+F5可以把INTERNET临时文件夹的文件删除再重新从服务器下载,也就是彻底刷新页面了

  8. ASP.NET项目在VS中F5与Ctrl+F5的区别

    场景 ASP.NET中MVC编程模式简介与搭建HelloWorld项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10679 ...

  9. 关于刷新网页F5,Ctrl+F5amp;amp;Shift+F5

    F5刷新网页,重新显示当前页面内容: Ctrl+F5博客的系统使用了数据缓存技术.这虽然可以加快网页的打开速度,但却经常出错.比如留言成功再重新打开网页却可能看不到刚才的的留言内容,其原因就是IE会读 ...

最新文章

  1. 2020-11-25(《深入理解计算机系统》多级页表详解)
  2. css实现快速抖动效果_web前端入门到实战:CSS实现照片堆叠效果
  3. CVPR 2022 3月7日论文速递(17 篇打包下载)涵盖 3D 目标检测、医学影像、图像去模糊、车道线检测等方向
  4. 面试一位硕士海龟前端小姐姐有感
  5. (26)FPGA面试技能提升篇(DDC、DUC、QMC)
  6. java开闭原则代码实现_如何提高你的代码设计能力?
  7. H264编码质量屏幕截图
  8. appium使用教程python_appium使用教程(一 环境搭建)-------------2.安装部署
  9. 阿里矢量图标库的使用
  10. 思维导图案例之VeritasDCG
  11. 白话区块链:区块链对普通大众的影响及其未来
  12. SpringCloud 问题杂集
  13. 多个圆通快递单号的物流信息如何在电脑上批量查询?
  14. 计算机状态oxcoooooe9,解决win7 system文件损坏修复的办法
  15. SQL server中时间获取少了两天解决方法
  16. 京东抢购Python脚本
  17. 高数基础-第五章-反常积分的计算
  18. 傅里叶变换 ~ 基 2 时间抽取 FFT 算法
  19. linux显示启动logo源码分析以及修改显示logo
  20. 新ipad 充电测试软件,ipad怎么充电 如何正确给ipad充电【详细介绍】

热门文章

  1. PL/SQL之高级篇
  2. testbench常用任务之SPI slave输出数据
  3. 《『若水新闻』客户端开发教程》——01.课程介绍
  4. Cookie操作以及如何在js中调用jsp变量
  5. C# 读取CAD文件缩略图(DWG文件)
  6. 在VS2005中使用添加变量向导十分的
  7. Hibernate问题浅析
  8. Java中抽象类和接口在概念、语法和应用上的区别和关系
  9. 热血沙城-3.2移植-古月-cocos2dx源码
  10. Windows Azure 之服务总线中继服务