惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
V
V2EX
博客园_首页
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
H
Help Net Security
A
About on SuperTechFans
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Blog — PlanetScale
Blog — PlanetScale
W
WeLiveSecurity
云风的 BLOG
云风的 BLOG
D
Docker
Security Archives - TechRepublic
Security Archives - TechRepublic
Help Net Security
Help Net Security
N
News and Events Feed by Topic
Simon Willison's Weblog
Simon Willison's Weblog
G
Google Developers Blog
A
Arctic Wolf
T
The Blog of Author Tim Ferriss
博客园 - 叶小钗
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Google DeepMind News
Google DeepMind News
博客园 - 三生石上(FineUI控件)
aimingoo的专栏
aimingoo的专栏
Hacker News: Ask HN
Hacker News: Ask HN
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 司徒正美
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Privacy International News Feed
T
Troy Hunt's Blog
T
Tenable Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Recorded Future
Recorded Future
F
Fortinet All Blogs
D
DataBreaches.Net
B
Blog
T
Threat Research - Cisco Blogs
MyScale Blog
MyScale Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
The GitHub Blog
The GitHub Blog
Security Latest
Security Latest
M
MIT News - Artificial intelligence

博客园 - Go_Rush

发一个python写的多线程 代理服务器 抓取,保存,验证程序,希望喜欢python的朋友和我一起完善它 根据生日或者日期 获取 生肖和星座的 JavaScript代码 身份证号码前六位所代表的省,市,区, 以及地区编码下载 15位, 18位的身份证号码的验证函数.以及根据身份证取省份,生日,性别 一个友好的.改善的 Object.prototype.toString的实现 发两个小东西,ASP/PHP 学习工具。 用JavaScript写的 怎样写一个通用的JavaScript效果库!(2/2) 怎样写一个通用的JavaScript效果库!(1/2) 自己写的几个高效,简洁的字符处理函数 无语,javascript居然支持中文(unicode)编程! ie 处理 gif动画 的onload 事件的一个 bug 讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别 总结两个Javascript的哈稀对象的一些编程技巧 使用prototype.js 的时候应该特别注意的几个问题. 再论怎么有效利用浏览器缓存之------怎么避免浏览器缓存静态文件. 深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法 由 element.appendChild(newNode) ,谈开去, 分享几个并不常见的Dom操作技巧给大家 在项目中玩了把addRule,结果差点被它玩死。附 addRule在firefox下的兼容写法 JavaScript写作技巧,函数A中调用函数B, 怎样在函数B中写代码中断函数A的运行?
RE:对博客园URL的一些调整建议, 二级域名不利于客户端浏览器缓存
Go_Rush · 2006-12-04 · via 博客园 - Go_Rush

在博客园前辈 Cat Chen   的一文 对博客园URL的一些调整建议  中提到二级域名机制不利于搜索引擎的
收录, 听了颇有感叹, 我的博客到现在为止还只被google收录了首页呢,文章一篇也没录取. 当然文章没有被
收录的原因主要和我在博客园安家时间短(才一个星期),文章数量不多有关.

下面我来说说在二级域名情况下,ie 浏览器缓存策略的问题吧.
1. 对于网站优化来说,缓存优化是最为重要的一环,对于一些常用的,.静态的文件和
数据(主要是js,css,jpg,gif,静态html),只要用户浏览过一次,这些资源就应该被缓存起来,
等下次再访问的时候直接从客户端的缓存里面取,而不是通过internet从服务器上重新读取.

幸运的是:
   浏览器都很聪明,对于静态image,js,css他都会自动缓存.
   程序员更聪明,他们会告诉浏览器,禁止缓存那些动态的数据文件,比如 test.asp?action=update&id=1之类.

不幸的情况是:
1。浏览器缓存资源的时候是根据类似于 (http://......)等绝对路径来存取的.
     所以对于下面这个文件:    HeaderBg.jpg
    如果您通过 http://www.cnblogs.com/ashun/ 来访问我的博客的话,浏览器将缓存下面这个地址:
    http://www.cnblogs.com/Skins/KJC/Images/HeaderBg.jpg
    但是如果您通过   http://ashun.cnblogs.com/  来访问我的博客的话,
浏览器竟然完全不知道缓存里面已经有 HeaderBg.jpg这个文件.
    还是重新通过internet去服务器读取 这个文件,并缓存以下地址:
    http://ashun.cnblogs.com/Skins/KJC/Images/HeaderBg.jpg

   在浏览器的眼里,  www.cnblogs.com/ashun 和 ashun.cnblogs.com 是两个不同的网站,那文件当然被认为是不同的文件咯
对于缓存里面的文件是通过绝对路进来存取的

让我们来分析一下真实的数据.
  我刚刚依次访问过 http://ashun.cnblogs.com/  http://www.cnblogs.com/ashun/   http://www.cnblogs.com/cathsfz/

Line Started StartedDateTime Size Result URL
1  00:00:00.000 2006-Dec-04 06:48:04.532 54524 200 http://ashun.cnblogs.com/
2  00:00:01.444 2006-Dec-04 06:48:05.976 7539 200 http://ashun.cnblogs.com/Skins/KJC/style.css
3  00:00:02.065 2006-Dec-04 06:48:06.597 824 200 http://www.cnblogs.com/ashun/customcss.aspx
4  00:00:02.457 2006-Dec-04 06:48:06.989 18479 200 http://ashun.cnblogs.com/Skins/KJC/Images/HeaderBg.jpg
5  00:00:02.466 2006-Dec-04 06:48:06.998 653 200 http://www.cnblogs.com/images/xml.gif
6  00:00:02.521 2006-Dec-04 06:48:07.053 396 200 http://ashun.cnblogs.com/Skins/KJC/images/SubHeaderBg.gif
7  00:00:02.605 2006-Dec-04 06:48:07.137 1097 200 http://ashun.cnblogs.com/Skins/KJC/Images/icon-group.jpg
8  00:00:02.648 2006-Dec-04 06:48:07.180 4004 200 http://www.cnblogs.com/images/cnblogs_com/ashun/77221/t_lishun.JPG
9  00:00:02.695 2006-Dec-04 06:48:07.227 0 (Cache) http://ashun.cnblogs.com/
10  00:00:02.928 2006-Dec-04 06:48:07.460 378 200 http://ashun.cnblogs.com/Skins/KJC/Images/xmlsmall.gif
11  00:00:03.025 2006-Dec-04 06:48:07.557 653 200 http://ashun.cnblogs.com/images/xml.gif
12  00:00:03.324 2006-Dec-04 06:48:07.856 1000 200 http://www.cnblogs.com/ashun/images/icon-titledoc.gif
13  00:00:05.081 2006-Dec-04 06:48:09.613 2843 200 http://ashun.cnblogs.com/script/ShowHidden.js
14  00:00:05.629 2006-Dec-04 06:48:10.161 397 200 http://ashun.cnblogs.com/Skins/KJC/images/ColumnHeaderBg.gif
15  00:00:25.166 2006-Dec-04 06:48:29.698 54517 200 http://www.cnblogs.com/ashun
16  00:00:25.951 2006-Dec-04 06:48:30.483 7539 200 http://www.cnblogs.com/Skins/KJC/style.css
17  00:00:26.470 2006-Dec-04 06:48:31.002 0 (Cache) http://www.cnblogs.com/ashun/customcss.aspx
18  00:00:26.486 2006-Dec-04 06:48:31.018 18479 200 http://www.cnblogs.com/Skins/KJC/Images/HeaderBg.jpg
19  00:00:26.553 2006-Dec-04 06:48:31.085 396 200 http://www.cnblogs.com/Skins/KJC/images/SubHeaderBg.gif
20  00:00:26.630 2006-Dec-04 06:48:31.162 1097 200 http://www.cnblogs.com/Skins/KJC/Images/icon-group.jpg
21  00:00:26.641 2006-Dec-04 06:48:31.173 1000 200 http://www.cnblogs.com/
22  00:00:26.676 2006-Dec-04 06:48:31.208 378 200 http://www.cnblogs.com/Skins/KJC/Images/xmlsmall.gif
23  00:00:27.182 2006-Dec-04 06:48:31.714 1000 200 http://www.cnblogs.com/ashun/images/icon-titledoc.gif
24  00:00:28.471 2006-Dec-04 06:48:33.003 2843 200 http://www.cnblogs.com/script/ShowHidden.js
25  00:00:29.252 2006-Dec-04 06:48:33.784 397 200 http://www.cnblogs.com/Skins/KJC/images/ColumnHeaderBg.gif
26  00:00:42.287 2006-Dec-04 06:48:46.819 58979 200 http://www.cnblogs.com/cathsfz/
27  00:00:42.910 2006-Dec-04 06:48:47.442 0 (Cache) http://www.cnblogs.com/Skins/KJC/style.css
28  00:00:43.099 2006-Dec-04 06:48:47.631 509 200 http://www.cnblogs.com/cathsfz/customcss.aspx
29  00:00:43.350 2006-Dec-04 06:48:47.882 0 (Cache) http://www.cnblogs.com/Skins/KJC/Images/HeaderBg.jpg
30  00:00:43.667 2006-Dec-04 06:48:48.199 3238 200 http://www.copyblogger.com/wp-content/themes/copyblogger_20/images/rss.gif
31  00:00:43.988 2006-Dec-04 06:48:48.520 1198 200 http://www.cnblogs.com/Skins/KJC/images/icon-titledoc.gif
32  00:00:46.854 2006-Dec-04 06:48:51.386 0 (Cache) http://www.cnblogs.com/script/ShowHidden.js
 

说明一下:  
Size是文件大小,如果是0,.则说明是读取的cache  
Result如果是200则说明是读取的服务器,(Cache) 或者 304 则读取Cache

我们可以看到访问不同的二级域名,几乎所有的image 和 js 均是重新请求的,尽管他们是同一个文件.

博客园那么多的博客,如果访问每个人的博客,这些资源都只需要读取一次,不管对减轻服务器负担和提高
客户端浏览速度都是有很大帮助的.

解决办法:
  强制采用统一的绝对地址来访问资源.

例子:  
   css文件:
  background-Image:url(skins/kjc/images/test.gif)
   ===> 
        background-Image:url(http://www.cnblogs.com/skins/kjc/images/test.gif)
 
   html文件:
     <script src="test.js"></script>
     <link id="MainCss" type="text/css" rel="stylesheet" href="/Skins/KJC/style.css" />
  ===>
       <script src="http://www.cnblogs.com/test.js"></script>
      <link id="MainCss" type="text/css" rel="stylesheet" href="http://www.cnblogs.com/Skins/KJC/style.css" />

    js文件:
      var img=new Image()
      img.src="go_rush.gif"

   ===>
      var img=new Image()
      img.src="http://www.cnblogs.com/go_rush.gif"


   下期节目预告:
     怎么禁止浏览器,怎么删除客户端缓存?  对于动态页面,asp,php大家或许都知道通过http-header来控制cache了
对于静态文件 (gif.jpg,css,js)呢,怎么做?。。。  敬请关注,下期为您精彩献上