当前位置: 主页 > 日志 > Python >

article.asp?/123.html 这样真能达到伪静态效果吗?

 今天看了Idiot.CN的一篇文章《asp程序实现伪静态的代码》,原文地址是:

http://hi.baidu.com/idiot_cn/blog/item/7888bb279e928704918f9d83.html

文中讲述了使用article.asp?/123.html来实现伪静态。

 

不敢苟同。分析如下:

 

按照我们对文件后缀名的常规理解来说。最后一个点之后的即为后缀名,那么上面的后缀名就是html了。

其实按照标准来讲不是这样的。

我们用一个遵循url解析规范的urlparse库(Python的标准库)来证实一下:

 

>>> import urlparse

>>> url = 'http://www.redicecn.com/article.asp?/123.html'

>>> urlparse.urlsplit(url).path

'/article.asp'

>>> import os

>>> os.path.splitext(urlparse.urlsplit(url).path)[-1]

'.asp'

 

>>> urlparse.urlsplit(url).query

'/123.html'

 

 

可以看到urlparse认为这个url的路径为:/article.asp,而/123.html是一个url参数。因此这个路径的文件后缀名应为.asp。

所以说,article.asp?/123.html不能真正达到伪静态的效果。

 

大家可以看一下一个开源爬虫库是如何来处理文件后缀名的:

http://code.google.com/p/webscraping/source/browse/common.py    221行

 

 

[日志信息]

该日志于 2011-01-09 13:05 由 redice 发表在 redice's Blog ,你除了可以发表评论外,还可以转载 “article.asp?/123.html 这样真能达到伪静态效果吗?” 日志到你的网站或博客,但是请保留源地址及作者信息,谢谢!!    (尊重他人劳动,你我共同努力)
   
验证(必填):   点击我更换验证码

redice's Blog  is powered by DedeCms |  Theme by Monkeii.Lee |  网站地图 |  本服务器由西安鲲之鹏网络信息技术有限公司友情提供

返回顶部