前几天本人在写一个AJAX页面,发现页面没有刷新,还以为是AJAX没工作,一跟踪,原来是每次读到的都是旧数据,也就是本地缓存的数据.
A few days ago, when I writing a AJAX page to refresh content, but I find nothing changed. then I use Fiddler to hack in. Yes, AJAX is working, but read from local cache, not remote server.
怎样强迫IE每次都读取新的页面?
How to force IE read from remote server every time?
方法一:在AJAX代码中加上
xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2005 00:00:00 GMT");
这样自然每次都会读取.
Method 1: In your AJAX code, add something like this:
xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2005 00:00:00 GMT");
方法二:IE缓存是通过URL对比的,只要换个新的URL就可以更新了.比如加上Time Stamp.
Method2: IE check its cache by URL, so just use another URL, like add a timestamp;
var url = "sum.phtml?figure1=5&figure2=1×tamp=" + new Date().getTime();
方法三:在服务器端修改Header:
ASP.NET :
context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
实际上就是修改Header.
Method3:
If you own the remote server, you can change the page's Header.
In Asp.net, code like this:
context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
>>查看全文...
2008年11月29日星期六
2008年10月25日星期六
embed and run javascript in xslt in MSIE;在MSIE平台XML/XSLT中嵌入并运行javascript
we can embed javascript in XSLT and run it after transform on Mircrosoft IE platform.
the trick is put javascript code in a seperate procedure template, and let transform engine treat content as html code.
then, we must escape the javascript code, this means we use "<" to replace "<" and ">" to replace ">", otherwise the xslt file will be illformed.
afte this, we use <xsl:call-template name=""/> to call the javascript template.
<!--in main template-->
....
<xsl:call-template name="jsproc"/>
....
<!--javascript template-->
<xsl:template name="jsproc">
<xsl:text disable-output-escaping="yes">
<script type="text/javascript">
......
</script>
</xsl:text>
</xsl:template> >>查看全文...
the trick is put javascript code in a seperate procedure template, and let transform engine treat content as html code.
then, we must escape the javascript code, this means we use "<" to replace "<" and ">" to replace ">", otherwise the xslt file will be illformed.
afte this, we use <xsl:call-template name=""/> to call the javascript template.
<!--in main template-->
....
<xsl:call-template name="jsproc"/>
....
<!--javascript template-->
<xsl:template name="jsproc">
<xsl:text disable-output-escaping="yes">
<script type="text/javascript">
......
</script>
</xsl:text>
</xsl:template> >>查看全文...
2008年9月19日星期五
HTTP调试工具软件Fiddler
HTTP、调试工具、网页调试
微软的Fiddler 包含一个简单却功能强大的基于JScript .NET 事件脚本子系统,他非常灵活性非常棒,可以支持众多的http调试任务。
Fiddler 是用C#写出来的。它还是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它仅仅暴露http通讯还有提供一个用户友好的格式。
Fiddler 包含一个简单却功能强大的基于JScript .NET 事件脚本子系统,他非常灵活性非常棒,可以支持众多的http调试任务。Fiddler 是用C#写出来的。
Fiddler支持断点调试概念,当你在软件的菜单—rules—automatic breakpoints选项选择beforerequest,或者当这些请求或响应属性能够跟目标的标准相匹配,Fiddler就能够暂停Http通讯, 情切允许修改请求和响应。这种功能对于安全测试是非常有用的,当然也可以用来做一般的功能测试,因为所有的代码路径都可以用来演习。
用户可以加入一个Inspector插件对象,来使用.net下的任何语言来编写Fiddler扩展。RequestInspectors 和 ResponseInspectors提供一个格式规范的,或者是被指定的(用户自定义)Http请求和响应视图。
通过显示所有的Http通讯,Fiddler可以轻松的演示哪些用来生成一个页面,通过统计页面(就是Fiddler左边的那个大框)用户可以很轻松的使用多选,来得到一个WEB页面的“总重量”(页面文件以及相关js,css等)你也可以很轻松得看到你请求的某个页面,总共请求了多少次,以及多少字节被转化了。
另外,通过暴露HTTP头,用户可以看见哪些页面被允许在客户端或者是代理端进行缓存。如果要是一个响应没有包含Cache-Control 头,那么他就不会被缓存在客户端。
http://www.fiddlertool.com/Fiddler2/version.asp
>>查看全文...
微软的Fiddler 包含一个简单却功能强大的基于JScript .NET 事件脚本子系统,他非常灵活性非常棒,可以支持众多的http调试任务。
Fiddler 是用C#写出来的。它还是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它仅仅暴露http通讯还有提供一个用户友好的格式。
Fiddler 包含一个简单却功能强大的基于JScript .NET 事件脚本子系统,他非常灵活性非常棒,可以支持众多的http调试任务。Fiddler 是用C#写出来的。
Fiddler支持断点调试概念,当你在软件的菜单—rules—automatic breakpoints选项选择beforerequest,或者当这些请求或响应属性能够跟目标的标准相匹配,Fiddler就能够暂停Http通讯, 情切允许修改请求和响应。这种功能对于安全测试是非常有用的,当然也可以用来做一般的功能测试,因为所有的代码路径都可以用来演习。
用户可以加入一个Inspector插件对象,来使用.net下的任何语言来编写Fiddler扩展。RequestInspectors 和 ResponseInspectors提供一个格式规范的,或者是被指定的(用户自定义)Http请求和响应视图。
通过显示所有的Http通讯,Fiddler可以轻松的演示哪些用来生成一个页面,通过统计页面(就是Fiddler左边的那个大框)用户可以很轻松的使用多选,来得到一个WEB页面的“总重量”(页面文件以及相关js,css等)你也可以很轻松得看到你请求的某个页面,总共请求了多少次,以及多少字节被转化了。
另外,通过暴露HTTP头,用户可以看见哪些页面被允许在客户端或者是代理端进行缓存。如果要是一个响应没有包含Cache-Control 头,那么他就不会被缓存在客户端。
http://www.fiddlertool.com/Fiddler2/version.asp
>>查看全文...
2008年9月15日星期一
网站地图(Sitemap)常见问题解答
网站地图(Sitemap)常见问题解答
星期二, 五月 06, 2008
转载自:谷歌中文网站管理员博客
上个月,Trevor参加了在芝加哥举行的搜索引擎战略大会,并在“网站地图:滥用了,误用了还是用对了?”分会场发言。会上我们收到了很多很好的问题,我们也从我们的帮助讨论区收到一些反馈,在这里我们给一个常见问题解答:
。
问: 我提交了一份网站地图,但我的网址还没有被抓取/索引。难道网站地图不是专门为此而设的么?
答: 提交一个网站地图可帮助您确保Google知悉你站点上的有关URL。它特别有用,尤其当您的内容不是很容易被我们的爬虫发现时(例如页面都只能通过表单 访问)。但并不是说,我们保证这些网址将被抓取或索引。我们利用从网站地图得到的信息来增强我们平时的爬行和发现过程。
问:如果网站地图不能帮我自动抓取和索引,请问一个站点地图能做什么?
答:网站地图为Google提供信息以帮助我们更好地理解您的网站。这包括,确保我们知道您所有的URL,它们何时被更新,更新频率如何,以及它们的相对重要性。另外,如果您通过网站管理员工具提交您的网站地图,我们会显示一些统计信息,例如你网站的网址被索引的数量。
问:站点地图会帮我得到更好的排名吗?
答:网站地图并不影响你页面的实际排名。当然,如果它能帮你获得更多的网站抓取(因为它让我们知道了我们以前不知道的网址,以及/或者帮助我们知道了你网站的URL的优先级),这就能够使你的网站在我们的索引增加存在量和被显示的次数。
问:如果我把所有页面的优先级都设置为1.0,会不会使他们比别人优先级设为0.8的页面的排名更高(或被抓取的速度更快)?
答:不会。正如在我们的帮助中心所说,“优先级排名只是说明特定网址相对于您网站上其他网址的重要性,并不会影响网页在搜索结果中的排名”。如果您所有的页面有相同的优先级,这等同于你没有提供任何优先级信息。
问:如果每个URL的所有的元数据( , 等)都是相同的,或者如果我不知道它们的元数据是不是准确的,提交这样的网站地图有没有价值?
答:如 果某一特定标签的值对所有在网站地图中的URL都是一样的,在您的网站地图中就没必要包括该标签。当然,包括了也没有害处,但它本质 上和没有提交任何信息是一样的,因为它不能帮助区分你的URL。如果您不确定你的元数据是否是准确的(例如,你不知道某个网址在什么时候被最后修改) ,最好是为那些URL略去该标签, 这比仅仅造一个可能不准确的值要好。
问:我听说有人提交了一份网站地图,然后他的网站很快就受到惩罚。网站地图会对你们有害处吗?
答:只有当它从很高很高的地方落在你身上时才会 :)。一个玩笑。正儿八经的回答:如果有人提交了一份网站地图后就被惩罚了,这纯属巧合。 Google从不会因为你提交了一份网站地图而惩罚你。
问:我把我的网站地图放在那里?一定要放在我的网站的根目录下吗?
答:不久前,我们开通了网站地图跨区递交。也就是说,你可以把你的网站地图放在任何地方,只要你的网站通过了网站管理员工具验证。这些网站包括:
• 网站地图所在网站
• 在网站地图中的URL中被提及的那些网站
注意,跨区提交的网站地图可能只对Google行得通,对其他搜索引擎可能无效。
问:我的网管为我的网站建了一个网站地图,我可以只提交该网站地图吗?我对XML没有概念。
答: 为(通常是HTML)而建的网站地图是为了帮助人们浏览你的网站。这和为搜索引擎而建的XML网站地图是有区别的。他们两个都是有用的,最好是两个都有。你的域上的网站地图对搜索 引擎找到你的内容也是有帮助的(因为爬行程序会循着你的链接找到其他页) 。不过,如果你提交一个HTML网站地图来作为搜索引擎的网站地图,网站管理员工具将报告一个错误,因为一个HTML页面不是我们的一个可识别的网站地图格式。另 外,如果您创建一个XML网站,你就可以给我们提供比HTML网站地图(仅仅是一堆链接)更多的资料 。 了解更多关于我们支持的网站地图格式。
问:哪种网站地图格式是最好的?
答:我们推荐sitemaps.org界定的XML网站地图协议。XML网站地图便于被升级:你可以从简单的开始(仅列出你的URL) ,但--跟文本文件网站地图不一样--您可以在以后轻松升级一个XML站点地图,以包括更多元数据。 同时,XML网站地图也比一个Atom或RSS feed提交的网站地图更全面,因为feeds通常只会列出你最近期的URL (而不是您想让搜索引擎知道的所有的网站)。
问:如果我有多个网址指向同样的内容,我可以用我的网站地图来标明对该内容我的首选URL吗?
答:是的。虽然我们不能保证我们的算法会将该URL显示在搜索结果中,在网站地图中标明对该内容首选URL还是有帮助的。我们在决定显示哪个URL在我们的搜索结果中时,我们会连同其他信号一起考虑你的首选。 了解更多关于重复内容的信息。
问:请问一个URL在一个网站地图文件中的位置重要吗?放在文件开始的URL会比放在文件尾部的URL得到更好的处理吗?
答:不重要,不会。
问:如果我的网站有多个部分组成(如博客,论坛,以及相册),我应该为整个网站只提交一个网站地图,还是提交多个网站地图 (一个部分一个地图)?
答:提交网站地图的多少由你定(至多这些 限制)。用你觉得容易维护的方式来组织他们。如果你创建多个网站地图,您可以使用网站地图索引文件把他们全部列出来。
>>查看全文...
星期二, 五月 06, 2008
转载自:谷歌中文网站管理员博客
上个月,Trevor参加了在芝加哥举行的搜索引擎战略大会,并在“网站地图:滥用了,误用了还是用对了?”分会场发言。会上我们收到了很多很好的问题,我们也从我们的帮助讨论区收到一些反馈,在这里我们给一个常见问题解答:
。
问: 我提交了一份网站地图,但我的网址还没有被抓取/索引。难道网站地图不是专门为此而设的么?
答: 提交一个网站地图可帮助您确保Google知悉你站点上的有关URL。它特别有用,尤其当您的内容不是很容易被我们的爬虫发现时(例如页面都只能通过表单 访问)。但并不是说,我们保证这些网址将被抓取或索引。我们利用从网站地图得到的信息来增强我们平时的爬行和发现过程。
问:如果网站地图不能帮我自动抓取和索引,请问一个站点地图能做什么?
答:网站地图为Google提供信息以帮助我们更好地理解您的网站。这包括,确保我们知道您所有的URL,它们何时被更新,更新频率如何,以及它们的相对重要性。另外,如果您通过网站管理员工具提交您的网站地图,我们会显示一些统计信息,例如你网站的网址被索引的数量。
问:站点地图会帮我得到更好的排名吗?
答:网站地图并不影响你页面的实际排名。当然,如果它能帮你获得更多的网站抓取(因为它让我们知道了我们以前不知道的网址,以及/或者帮助我们知道了你网站的URL的优先级),这就能够使你的网站在我们的索引增加存在量和被显示的次数。
问:如果我把所有页面的优先级都设置为1.0,会不会使他们比别人优先级设为0.8的页面的排名更高(或被抓取的速度更快)?
答:不会。正如在我们的帮助中心所说,“优先级排名只是说明特定网址相对于您网站上其他网址的重要性,并不会影响网页在搜索结果中的排名”。如果您所有的页面有相同的优先级,这等同于你没有提供任何优先级信息。
问:如果每个URL的所有的元数据( , 等)都是相同的,或者如果我不知道它们的元数据是不是准确的,提交这样的网站地图有没有价值?
答:如 果某一特定标签的值对所有在网站地图中的URL都是一样的,在您的网站地图中就没必要包括该标签。当然,包括了也没有害处,但它本质 上和没有提交任何信息是一样的,因为它不能帮助区分你的URL。如果您不确定你的元数据是否是准确的(例如,你不知道某个网址在什么时候被最后修改) ,最好是为那些URL略去该标签, 这比仅仅造一个可能不准确的值要好。
问:我听说有人提交了一份网站地图,然后他的网站很快就受到惩罚。网站地图会对你们有害处吗?
答:只有当它从很高很高的地方落在你身上时才会 :)。一个玩笑。正儿八经的回答:如果有人提交了一份网站地图后就被惩罚了,这纯属巧合。 Google从不会因为你提交了一份网站地图而惩罚你。
问:我把我的网站地图放在那里?一定要放在我的网站的根目录下吗?
答:不久前,我们开通了网站地图跨区递交。也就是说,你可以把你的网站地图放在任何地方,只要你的网站通过了网站管理员工具验证。这些网站包括:
• 网站地图所在网站
• 在网站地图中的URL中被提及的那些网站
注意,跨区提交的网站地图可能只对Google行得通,对其他搜索引擎可能无效。
问:我的网管为我的网站建了一个网站地图,我可以只提交该网站地图吗?我对XML没有概念。
答: 为(通常是HTML)而建的网站地图是为了帮助人们浏览你的网站。这和为搜索引擎而建的XML网站地图是有区别的。他们两个都是有用的,最好是两个都有。你的域上的网站地图对搜索 引擎找到你的内容也是有帮助的(因为爬行程序会循着你的链接找到其他页) 。不过,如果你提交一个HTML网站地图来作为搜索引擎的网站地图,网站管理员工具将报告一个错误,因为一个HTML页面不是我们的一个可识别的网站地图格式。另 外,如果您创建一个XML网站,你就可以给我们提供比HTML网站地图(仅仅是一堆链接)更多的资料 。 了解更多关于我们支持的网站地图格式。
问:哪种网站地图格式是最好的?
答:我们推荐sitemaps.org界定的XML网站地图协议。XML网站地图便于被升级:你可以从简单的开始(仅列出你的URL) ,但--跟文本文件网站地图不一样--您可以在以后轻松升级一个XML站点地图,以包括更多元数据。 同时,XML网站地图也比一个Atom或RSS feed提交的网站地图更全面,因为feeds通常只会列出你最近期的URL (而不是您想让搜索引擎知道的所有的网站)。
问:如果我有多个网址指向同样的内容,我可以用我的网站地图来标明对该内容我的首选URL吗?
答:是的。虽然我们不能保证我们的算法会将该URL显示在搜索结果中,在网站地图中标明对该内容首选URL还是有帮助的。我们在决定显示哪个URL在我们的搜索结果中时,我们会连同其他信号一起考虑你的首选。 了解更多关于重复内容的信息。
问:请问一个URL在一个网站地图文件中的位置重要吗?放在文件开始的URL会比放在文件尾部的URL得到更好的处理吗?
答:不重要,不会。
问:如果我的网站有多个部分组成(如博客,论坛,以及相册),我应该为整个网站只提交一个网站地图,还是提交多个网站地图 (一个部分一个地图)?
答:提交网站地图的多少由你定(至多这些 限制)。用你觉得容易维护的方式来组织他们。如果你创建多个网站地图,您可以使用网站地图索引文件把他们全部列出来。
>>查看全文...
2008年9月14日星期日
SQLite,轻量级数据库
SQLite是一个开源轻量级嵌入式文件型数据库。
1.开源
SQLite是开源软件,以C语言写成,网上有大量各种不同语言和环境下的接口(比如asp.net 2.0 provider)。你可以用SQLite进行任何非商业或商业开发。
2.轻量经
就象其名字一样,SQLite只不过是一个250KB的dll文件,如果去掉一些特性的话只有150KB。
3.嵌入式
SQLite无需安装,没有多余的依赖项,直接复制DLL既可运行。
SQLite直接在宿主程序的进程空间中运行。
SQLite应用范围广泛,可以直接在各种平台,各种语言下运行,比如.net compact framework。
4.文件型
SQLite不是client/server型的数据库,一个数据库的信息都保存在一个文件中。
5.高速
SQLite的读取速度明显高于大型关系数据库。
client/server数据库是运行在单独的进程中,而SQLite在宿主进程空间运行,仅仅进程间数据传递,client/server数据库就已经吃了大亏。
6. 支持ACID特性和大部分SQL92
ACCESS是没有ACID(原子,一致,孤立,并且持久的)特性的。
7. 数据库大小基本没有限制,具说大于100G性能会下降。
在用于网站开发时,SQLite最大的优势在于不受制于空间服务商,无需购买昂贵的数据库空间。直接部署在WEB空间里既可。
不足之处:SQLite最大的不足是写入并发能力,读取是没问题的,但是当一个线程进入写入时,其它线程就无法读取,只能等待。
相关网址:官方网址: http://www.sqlite.org/
.net provider(可用于asp.net开发)http://sourceforge.net/projects/adodotnetsqlite
http://sourceforge.net/projects/sqlite-dotnet2(新项目)
>>查看全文...
1.开源
SQLite是开源软件,以C语言写成,网上有大量各种不同语言和环境下的接口(比如asp.net 2.0 provider)。你可以用SQLite进行任何非商业或商业开发。
2.轻量经
就象其名字一样,SQLite只不过是一个250KB的dll文件,如果去掉一些特性的话只有150KB。
3.嵌入式
SQLite无需安装,没有多余的依赖项,直接复制DLL既可运行。
SQLite直接在宿主程序的进程空间中运行。
SQLite应用范围广泛,可以直接在各种平台,各种语言下运行,比如.net compact framework。
4.文件型
SQLite不是client/server型的数据库,一个数据库的信息都保存在一个文件中。
5.高速
SQLite的读取速度明显高于大型关系数据库。
client/server数据库是运行在单独的进程中,而SQLite在宿主进程空间运行,仅仅进程间数据传递,client/server数据库就已经吃了大亏。
6. 支持ACID特性和大部分SQL92
ACCESS是没有ACID(原子,一致,孤立,并且持久的)特性的。
7. 数据库大小基本没有限制,具说大于100G性能会下降。
在用于网站开发时,SQLite最大的优势在于不受制于空间服务商,无需购买昂贵的数据库空间。直接部署在WEB空间里既可。
不足之处:SQLite最大的不足是写入并发能力,读取是没问题的,但是当一个线程进入写入时,其它线程就无法读取,只能等待。
相关网址:官方网址: http://www.sqlite.org/
.net provider(可用于asp.net开发)http://sourceforge.net/projects/adodotnetsqlite
http://sourceforge.net/projects/sqlite-dotnet2(新项目)
>>查看全文...
2008年9月13日星期六
XML/XSLT客户端转换
当前主流浏览器都开始支持XML/XSLT转换,建立以XML/XSLT技术为基础的网站成为可能。具体方法是,服务器端返回一个XML文件,这个XML文件引用某个(比如服务器上的)XSLT文件,浏览器以XSLT为模板将XML文件转换为XHTML显示出来,这样服务器可以提供XML而不是HTML给用户来显示网络页面。
这种技术的优点有:
1,呈现工作由客户端完成,减少服务器压力。
2,XML文件小于XHTML文件,减少带宽。
3,有可能通过不同的XSLT文件提供不同的最终显示。
4,XSLT支持有限的编程语言功能,可以在客户端对显示进行选择和调整而不必消费服务的CPU。
5,XSLT不依赖于脚本,Cookie等功能,不受浏览器安全等级影响。
缺点有:
1,运行javascript困难。(不是不能运行)。
2,IE6.0以上对XML/XSLT支持完整。FireFox的支持不完整。
3,非常严重的问题,搜索引擎可以收录XML,但不使用XSLT,导致诸多问题。
由于以上问题,当前此项技术实际应用还比较少。知名网站中CSDN采用了此技术。我的小网站野百合资讯网和在线工具网采用了这个技术.
一般多采取在服务器端将XML转化为XHTML,再返回给用户。
>>查看全文...
这种技术的优点有:
1,呈现工作由客户端完成,减少服务器压力。
2,XML文件小于XHTML文件,减少带宽。
3,有可能通过不同的XSLT文件提供不同的最终显示。
4,XSLT支持有限的编程语言功能,可以在客户端对显示进行选择和调整而不必消费服务的CPU。
5,XSLT不依赖于脚本,Cookie等功能,不受浏览器安全等级影响。
缺点有:
1,运行javascript困难。(不是不能运行)。
2,IE6.0以上对XML/XSLT支持完整。FireFox的支持不完整。
3,非常严重的问题,搜索引擎可以收录XML,但不使用XSLT,导致诸多问题。
由于以上问题,当前此项技术实际应用还比较少。知名网站中CSDN采用了此技术。我的小网站野百合资讯网和在线工具网采用了这个技术.
一般多采取在服务器端将XML转化为XHTML,再返回给用户。
>>查看全文...
订阅:
评论 (Atom)
