从浏览者访问网页的流程来看如何提高系统反应速度(1)--客户端交互

浏览器打开网页的过程

  理解实际的客户端(浏览器)、服务端(比如iis)
  域名解析(过程描述)
  发送浏览请求
    包含方法(get、post)
    http协议版本
    系统的语言
    是否接受压缩
    发送cookies
    用户代理(User-Agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)))
    referer等
  浏览器返回
    包含状态码:200、302、304、404、500
   (http是一个无状态的协议,cookies和session的作用和原理)
    如何在代码里强制动态页面可以被缓存
      'set Page Last-Modified Header:
      'Converts date (19991022 11:08:38) to http form (Fri, 22 Oct 1999 12:08:38 GMT)
      Response.AddHeader "Last-Modified", DateToHTTPDate(Now())
      'The Page Expires in Minutes
      Response.Expires = 10
      'Set cache control to externel applications
      Response.CacheControl = "public"
    如何避免缓存带来的弊端
      在访问网址后可加虚拟参数来强制刷新,如随机数
      PS:如何正确的获取客户端的ip地址
        注意Request.ServerVariables("HTTP_X_FORWARDED_FOR")和Request.ServerVariables("REMOTE_ADDR")的区别
        注意被保留的3段私网ip地址的辨别
        注意如果是通过多层代理来访问,则要控制好如何取离客户最近的公网ip地址


  浏览器开始解析
    加快页面的解析和执行的方法
      减少页面结果代码量和图片等的大小
      图片、脚本等和页面的分离,可以在输出时改写资源文件的绝对路径(asp不行,.net可以)
      客户端脚本和样式尽量独立到引用文件里,便于缓存
      将小图片整合到一个图片中,用样式表来控制图片的不同部位的显示
      样式文件靠网页开头输出,脚本文件在页底输出
      需要缓存的文件可以设置过期时间,比如:Expires: Thu, 15 Apr 2010 20:00:00 GMT,对于要刷新的可以在文件名后加参数来强制刷新
      避免重定向,比如该用“/”结尾的网址就写上“/”,不要让浏览器自动重定向

 

我补充两点

1.提前加载,如果一张图片在下一个页面要用到,而当前页面的压力又不很大的情况下,可以将下一页面的部分内容放到前面来加载,有兴趣的去研究一下www.google.com的首页

2.用到时再加载  对于某些特殊操作要用到的图片或脚本可以采取用到时再加载的方式进行,比如实现某一效果需要的脚本,可能在页面打开不做操作的时候并不需要用到,那么这样的提前加载就是浪费 典型的网站比如  www.yahoo.com

从上面举例的网站我们就可以看出,合理利用带宽是多么的重要


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值