Субдомен лучше или подпапка?

Неизменяемые объекты - это объекты, которые нельзя изменить программно. Они особенно хороши для многопоточных сред или других сред, в которых более одного процесса могут изменять (изменять) значения в объекте.

Просто для пояснения, однако, StringBuilder на самом деле является изменяемым объектом, а не неизменным. Обычная строка Java является неизменной (это означает, что после ее создания вы не можете изменить базовую строку без изменения объекта).

Например, допустим, что у меня есть класс ColoredString, который имеет значение String и цвет String:

public class ColoredString {

    private String color;
    private String string;

    public ColoredString(String color, String string) {
        this.color  = color;
        this.string = string;
    }

    public String getColor()  { return this.color;  }
    public String getString() { return this.string; }

    public void setColor(String newColor) {
        this.color = newColor;
    }

}

В этом примере ColoredString называется изменяемой, поскольку вы можете изменить ( mutate) одно из его ключевых свойств без создания нового класса ColoredString. Причина, по которой это может быть плохо, например, допустим, у вас есть приложение с графическим интерфейсом, которое имеет несколько потоков, и вы используете ColoredStrings для печати данных в окне. Если у вас есть экземпляр ColoredString, который был создан как

new ColoredString("Blue", "This is a blue string!");

, то вы ожидаете, что строка всегда будет синей. Однако, если бы другой поток получил этот экземпляр и вызвал его

blueString.setColor("Red");

Вы бы внезапно и, вероятно, неожиданно получили «красную» строку, когда хотели «синюю». Из-за этого неизменные объекты почти всегда предпочтительнее при передаче экземпляров объектов вокруг. Когда у вас есть случай, когда изменяемые объекты действительно необходимы, тогда вы обычно охраняете объект, только передавая копии из вашей конкретной области контроля.

Напомним, что в Java java.lang.String является неизменным объектом (его нельзя изменить после его создания), а java.lang.StringBuilder является изменяемым объектом, поскольку его можно изменить без создания новый экземпляр.

8
задан cletus 24 June 2009 в 11:43
поделиться

8 ответов

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

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

Вот статья из SEOMoz, объясняющая это более подробно: http://www.seomoz.org/blog/understanding-root-domains-subdomains-vs-subfolders-microsites

13
ответ дан 5 December 2019 в 08:25
поделиться

Лично я исхожу из логики, что субдомен является другое приложение / сайт, принадлежащий одной компании. Подпапка является частью того же приложения / сайта.

Вероятно, для вашего рейтинга страниц / списков поисковых систем лучше, если у вас есть «один большой сайт», а не множество различных слабо связанных доменов. Если содержание сайтов заметно отличается, например личный сайт может иметь поддомен галереи или блога, в котором контент четко отделен от основного сайта - тогда это, вероятно, имеет смысл для поддомена, иначе я бы придерживался папок.

ps Примечание, не знаю, если это Важно, но веб-браузеры открывают только два соединения одновременно с веб-сайтом при загрузке различных файлов, составляющих страницу. Так что есть причина для субдомена в этом случае, когда он активно ускоряет (хотя на быстром сайте, минимально) время загрузки страницы.

3
ответ дан 5 December 2019 в 08:25
поделиться

Почему не оба? Попросите Demandb.com/foo и foo.demandb.com перейти в одно и то же место.

1
ответ дан 5 December 2019 в 08:25
поделиться

Технически субдомен - это другой сервер. Компания, в которой я работаю, имеет домен с несколькими поддоменами, где каждый поддомен расположен на другом (виртуальном или реальном) компьютере / сервере. Таким образом, если один из них выйдет из строя, остальные просто продолжат работу.

С точки зрения разработчика, субдомен заставит все внутри субдомена быть другим приложением, в то время как в подпапке подпапка и подпапки могут быть частью приложение в корневой папке. Когда я создаю веб-приложения, эти веб-приложения часто сначала тестируются на тестовом сервере во вложенной папке. После прохождения тестов они перемещаются в корень своего собственного поддомена.

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

1
ответ дан 5 December 2019 в 08:25
поделиться

2 комментария:

  • Используйте подпапки, если вам нужен SSL - тогда вам нужен только 1 базовый сертификат для корня
  • Если вы используете оба, убедитесь, что вы перенаправили 301 один на другой. Это позволит избежать проблемы дублирования поисковой системы, но все равно будет проблематично для SSL в определенных ситуациях.
0
ответ дан 5 December 2019 в 08:25
поделиться

Это зависит от того, для какого контента вы хотите создать подпапку / -домены.

Связано ли это с вашим исходным сайтом? Тогда вам обязательно следует использовать подпапку, поскольку она принадлежит к тому же домену. Если вы используете подпапки, гораздо лучше, чтобы ссылочная масса распространялась.

Что касается рейтинга страниц, лучше использовать подпапки.

Поддомены считаются новым сайтом. Подпапок нет, и они получат более высокий рейтинг, если ваш исходный сайт мощный.

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

Два соответствующие ссылки, которые объясняют это дальше:

http://www.searchmarketingstandard.com/when-to-use-subdomains-vs-subfolders http: //www.searchenginejournal. com / subdomains-or-subfolders-which-are-better-for-seo / 6849 /

2
ответ дан 5 December 2019 в 08:25
поделиться

Если ваш сайт можно легко разделить на поддомены, и каждый поддомен может работать независимо, сделайте это! Затем вы можете легко масштабировать свое приложение, развернув разные серверы (или кластеры) для каждого поддомена.

Примеры: Craigslist: по регионам (seattle.craigslist.org, sfbay.craigslist.org и т. Д.) Livejournal: от сообщества / пользователя

Технически это можно сделать с папками, но для этого требуется ферма веб-прокси, тогда как субдомены могут быть созданы с помощью простых записей DNS.

0
ответ дан 5 December 2019 в 08:25
поделиться

Это также зависит от ваших потребностей, нужна ли вам отдельная система входа в систему для поддоменов, потому что это невозможно, если вы используете подпапку. Подпапка разделяет тот же сеанс. Для субдоменов необходимо установить общие файлы cookie для всех доменов.

0
ответ дан 5 December 2019 в 08:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: