保存URL时保留或丢弃“ www”?

问题描述 投票:3回答:9

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

基本上,可以从所有输入的网址中删除“ www”吗?还是应该保留?

php url
9个回答
11
投票

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

所以,不好的主意。


7
投票

保持它。这是两个不同的URL,most站点将其视为相同。唯一的危害是4个字节的数据,因此没有充分的技术理由不存储它。当您在那里时,最好也不丢掉协议(“ http://”)。

当您向最终用户显示该URL时,当我删除“ http://www”时。


4
投票

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

不要对网站所有者的需求做任何假设;让他们告诉你。


2
投票

这取决于您所说的“同一站点”。 everything.sitename.com与www.sitename.com属于同一个人。实际上,everything.sitename.com是www.sitename.com的子域大多数时候,

www.sitename.com == sitename.com

但是

blog.sitename.com != sitename.com

1
投票

您是否真的很难存储,以至于4个字节会耗尽资金?可能不是。它可能看起来像是节省空间的功能,但是一旦您遇到了非www网站没有别名的url,就必须对其进行编码。然后,当您拥有除www之外的其他子域名的网址时,您也必须围绕这些子域名进行编码。

从长远来看,最好将URL保留不变,并将其吸收到原始存储中,除非您要存储数亿个URL。


1
投票

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


1
投票

1
投票

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

例如:

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

在这种情况下,当您使用google map时,www站点的cookie不会在每次请求时都发送。


0
投票

[与http://不同,在100%的情况下不假定www。实际上,www在大多​​数情况下是foo.com的子域。部署网站的方法多种多样,以使裸域与www相同。最受欢迎的两个是DNS别名,其中www是与顶级域相同的子域,以及HTTP重定向,其中foo.com是与www.foo.com不同的虚拟目录,并且具有将所有流量重定向到www.foo.com的页面。 >

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

© www.soinside.com 2019 - 2024. All rights reserved.