Сохранить или отбросить "www" при сохранении URL? - PullRequest
3 голосов
/ 01 февраля 2010

Я создаю приложение на PHP5, которое должно хранить уникальный URL-адрес для веб-сайта. Например, если пользователь вводит "http://www.google.com/" из-за неправильного хранения его в БД как" google.com"после его синтаксического анализа. В основном мне нужно согласованное соглашение для URL, чтобы не несколько записей для одного сайта.

В принципе, нормально ли снимать "www" со всех введенных URL? Или я должен держать это?

Мне бы очень хотелось услышать ваше мнение.

Заранее спасибо!

Ответы [ 9 ]

11 голосов
/ 01 февраля 2010

Хотя различие не всегда имеет значение, www.google.com относится к записи DNS, отличной от google.com , и может предположительно возвращать другие данные. Например, иногда вы можете видеть www2.foo.com в дикой природе, и foo.com может перенаправлять на него по странным причинам балансировки нагрузки.

Итак, плохая идея.

7 голосов
/ 01 февраля 2010

Держи это.Это два разных URL, которые большинство сайтов рассматривают как одинаковые.Единственный вред - это 4 байта данных, поэтому нет веских технических причин не хранить их.Пока вы там, вероятно, будет хорошей идеей не выбрасывать протокол ("http://") либо.

Когда вы отображаете URL для конечных пользователей, это , когдараздеть "http://www."

4 голосов
/ 01 февраля 2010

Одним из подходов может быть выполнение операции GET для сайта и сохранение результатов любых перенаправлений, которые вы получаете. Таким образом, если у вас есть такой сайт, где www.stackoverflow.com перенаправляет на stackoverflow.com, вы сохраните канонический URL только один раз.

Не делайте предположений о том, чего хотят владельцы сайта; пусть скажут.

2 голосов
/ 01 февраля 2010

Это зависит от того, что вы подразумеваете под «тем же сайтом». Все, что угодно ..sitename.com принадлежит тем же людям, что и www.sitename.com. Infact, что-нибудь.sitename.com является поддоменом www.sitename.com

Большую часть времени,

www.sitename.com == sitename.com

Но,

blog.sitename.com != sitename.com
1 голос
/ 01 февраля 2010

Вам лучше сохранить его, если вы хотите иметь несколько поддоменов в одном домене. это может помочь снизить пропускную способность вашего запроса.

Например:

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

В этом случае, когда вы переходите на карты Google, файлы cookie с веб-сайта не отправляются ни по одному запросу.

1 голос
/ 01 февраля 2010

Я бы рекомендовал следовать стандартам http://en.wikipedia.org/wiki/URI_scheme

1 голос
/ 01 февраля 2010

Если вы считаете / заботитесь о том, что некоторые веб-сайты / приложения обслуживают один и тот же контент на www.domain.com по сравнению с domain.com, а некоторые - нет, то, вероятно, не стоит урезать www .

1 голос
/ 01 февраля 2010

Неужели вам так сложно хранить данные, что 4 байта сломают банк? Возможно нет. Это может показаться функцией экономии места, но как только вы столкнетесь с URL-адресами, у которых нет псевдонима для сайта без www, вам придется кодировать его. Затем, когда у вас есть URL-адреса, которые не относятся к поддоменам www, вам придется также кодировать их.

В долгосрочной перспективе, вероятно, лучше всего оставить URL-адрес без изменений и использовать его в сыром хранилище, если вы не собираетесь хранить сотни миллионов из них.

0 голосов
/ 01 февраля 2010

В отличие от http://, www не предполагается в 100% случаев. На самом деле www в большинстве случаев является поддоменом foo.com. Существует множество способов развертывания веб-сайта, чтобы пустой домен соответствовал www. Двумя наиболее популярными являются псевдонимы DNS, где www - это тот же поддомен, что и домен верхнего уровня, и HTTP-перенаправление, где foo.com - это виртуальный каталог, отличный от www.foo.com, и имеет одну страницу, которая перенаправляет весь трафик на www.foo.com.

Так что нет, было бы небезопасно удалять www, так как это адрес, отличный от голой версии того же URL. Кроме того, вы также можете понести расходы на перенаправление для тех сайтов, которые используют метод перенаправления HTTP, например, http://google.com.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...