保存网址时保留或丢弃“www”?

时间:2010-02-01 02:57:05

标签: php url

我正在PHP5中创建一个需要为网站存储唯一URL的应用程序。例如,如果用户输入“ http://www.google.com/ ”,则在解析后将其作为“ google.com ”存储在数据库中。基本上我需要一个一致的URL约定,以便同一站点没有多个条目。

基本上,从输入的所有网址中取出“www”是否可以?或者我应该保留它?

我很想听听你的意见。

提前致谢!

9 个答案:

答案 0 :(得分:11)

虽然区别并不总是重要,但 www.google.com 指的是与 google.com 不同的DNS条目,并且可能会返回不同的数据。例如,您偶尔会看到 www2.foo.com ,而 foo.com 可能会因为出于奇怪的负载平衡原因而重定向到它。

所以,糟糕的主意。

答案 1 :(得分:7)

保持它。这些是大多数网站视为相同的两个不同的网址。它唯一的缺点是4个字节的数据,因此没有很好的技术理由不存储它。当你在那里时,不要丢弃协议(“http://”)也许是一个好主意。

当您向最终用户显示网址时,当我删除“http://www

答案 2 :(得分:4)

一种方法可能是对网站执行GET操作,并存储您收到的任何重定向的结果。因此,如果您有www.stackoverflow.com重定向到stackoverflow.com的网站,那么您只会将规范网址存储一次。

不要假设网站所有者想要什么;让他们告诉你。

答案 3 :(得分:2)

这取决于你所说的“同一网站”。 anything.sitename.com由www.sitename.com所有者拥有。事实上,anything.sitename.com是www.sitename.com的子域。

大多数时候,

www.sitename.com == sitename.com

但是,

blog.sitename.com != sitename.com

答案 4 :(得分:1)

你真的很难存储4个字节会破坏银行存储吗?可能不是。它可能看起来像一个节省空间的功能,但是一旦你遇到没有非www网站别名的网址,你就必须围绕它进行编码。然后,如果您的网址不是www以外的子网域,那么您也必须围绕这些网址进行编码。

从长远来看,最好将网址保留原样并将其吸入原始存储空间,除非您要存储数亿个网址。

答案 5 :(得分:1)

如果您考虑/关心某些网站/应用程序在www.domain.com与domain.com上提供相同内容的事实,而有些则没有,那么截断www可能不是一个好的假设

答案 6 :(得分:1)

答案 7 :(得分:1)

如果您想在同一个域中拥有一些子域,最好保留它。这可能有助于降低您的请求带宽。

例如:

  

http://www.google.com   
http://maps.google.com

在这种情况下,当您使用谷歌地图时,www网站上的cookie不会在每次请求时发送。

答案 8 :(得分:0)

http://不同,在100%的情况下不会假设www。实际上,www在大多数情况下是foo.com的子域。部署网站的方式多种多样,因此裸域与www相同。最常用的两种是DNS别名,其中www与顶级域相同,子网重定向为foo.comwww.foo.com不同的虚拟目录,并且有一个页面可重定向所有流量到www.foo.com

因此,剥离www并不安全,因为它是同一URL的裸版本的不同地址。另外,对于那些使用HTTP重定向方法的网站,您也可能会产生重定向成本,例如: http://google.com