• 《构建高性能web站点》阅读笔记(三)


    动态脚本加速

    解释器将动态脚本解释成操作码(opcode)的这一过程也存在一定的开销;动态脚本加速就是将缓存的思路搬到操作码层,实现对操作码的缓存;

    PHP可以选择:APC 、eAccelerator、XCache等将opcode缓存在共享内存中。Python能选择什么?

    动态脚本加速技术主要用于解决CPU、内存的系统瓶颈,对I/O引起的系统瓶颈帮助非常有限。

     

    浏览器缓存

    尽可能地让Web站点的内容缓存在用户浏览器中,这样将在一定程度上减少了服务器的计算开销,也避免了有些由于不必要重复传输而带来的带宽浪费。

    IE:在用户本地设置临时文件目录,用于存放缓存。

    FireFox:采用二进制文件的方式来存储和管理缓存文件,在Firefox浏览器的地址栏中输入about:cache即可查看缓存内容;除在磁盘中存储缓存,对一些命中率较高的内容同时放入内存缓存中,从而实现多级缓存;

    缓存协商

    浏览器和服务器通过缓存协商机制实来完成浏览器端缓存的创建、存储和过期检查等一系列过程;

    缓存协商的大致过程:

    Last-Modified

    动态生成的内容一般不存在传统意义上静态页面的“最后修改时间”,所以需要动态程序为HTTP响应增加最后修改时间的标记;否则浏览器不会进行缓存。

    ETag

    ETag不是通过文件最后修改时间来判断是否需要更新,而是通过一串编码(ETag)来标记内容,ETag没有变,内容就不需要更新;

    ETag由WEB服务器来生成,如Apache为一个静态文件的http响应头增加标记

    ETag:74177-b-46585209c1bc0

    浏览器在下一次请求的时候,在http请求头中增加标记:

    If-None-Match:74177-b-46585209c1bc0

    web服务器用重新计算后的ETag和浏览器请求头中的进行对比,如果相同则返回304状态码,表示没有更新,可以使用本地缓存;

    如何请求页面

    天天用浏览器,但是对浏览器的一些操作细节的差异还真不清楚,看看吧:

    Ctrl + F5 :强制刷新,使浏览器对网页及其中的组件都直接从服务器获取,不使用缓存协商。

    F5:一般刷新,等同于点浏览器的“刷新”按钮,能够使浏览器使用必要的缓存协商,但不允许使用本地缓存,即可以使Last-Modified发挥作用,而使Expires无效;

    单击地址栏的“转到”,等同于输入URL后按回车,浏览器会对所有未过期内容使用本地缓存。

  • 相关阅读:
    [na]wac无线控制器集中转发部署的几种情况
    [na]windows2008-AD域的安装
    [na]数据链路层&网络层协议小结截图版
    [na]tcp&udp层各协议小结
    [na]交换机接口文档
    [na]二层sw数据交换
    [na]wireshark排查打印机问题
    [na]ip包格式
    [na]ping提示&各系统默认的TTL值
    【VS开发】C++异常处理操作
  • 原文地址:https://www.cnblogs.com/xiekeli/p/2470516.html
Copyright © 2020-2023  润新知