Java (Tomcat): как настроить неиременный поддомен для обслуживания статического контента

StackOverflow https://stackoverflow.com/questions/2884065

  •  04-10-2019
  •  | 
  •  

Вопрос

Один из наконечников, данного как Google, так и Yahoo! Чтобы ускорить нагрузку на веб-страницы состоит в том, чтобы настроить нечетный поддомен для сервера статического контента.

Как вы настраиваете «неэбиальный поддомен», используя TOMCAT в автономном режиме (этот вопрос не о том, как использовать Apache, чтобы служить статическому контенту в некровенном виде, но о том, как сделать это в режиме Tomcat-Standalone)?

Обратите внимание, что мне не волнует фильтры, поддерживающие If-Modified-Since Ни уход за фильтрами, поддерживающими GZIpping: статический контент, который я обслуживаю, - это навсегда кешируемое (или его имя изменится), и он уже сжатые данные (поэтому GZIP только замедляет перенос).

Мне нужны два разных Tomcat WebApps? (Один «Cookiefull» и один «незабываемый»)

Нужны ли мне два разных сервлетах? (На данный момент у меня есть только один диспетчер / контроллер сервлета).

Почему «регулярная» ссылка на, скажем, статическое изображение будет вызываться в кулинарном способе, когда он будет в том же домене, что и главный WebApp, а затем будет вызываться в «Bookie-менее», когда он находится в поддомене ?

Я точно не понимаю, что происходит: это браузер, который решает добавить или нет файлов cookie к запросу? Если это так, то почему это не добавило бы печенье в статический запрос на «незабываемое» поддомен.

Любой пример относительно того, что происходит за сценой, больше всего приветствуется :)

Это было полезно?

Решение

Вам просто нужно настроить другой домен. Это может указывать на одни и те же WebApps. Просто убедитесь, что вы не бросаете печенье на этот новый домен.

Например, вы главный сайт

  www.example.com

и вы можете иметь другой домен

  static.example.com 

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

Редактировать: Предполагая, что ваш статический контент обслуживается сервлетом по умолчанию в Tomcat, вам не нужно ничего делать. Это не бросает файлы cookie для вас, чтобы ваш новый домен должен быть бесплатным файлом cookie.

Если вы должны обработать статический контент в том же сервлете, вы можете сделать что-то вроде этого,

   if (!request.getServerName().equals("static.example.com")) {
       // Drop cookie
   }

Этот пример предполагает, что вы не бросаете cookie в вашем корневом домене (.example.com). Если вы это сделаете, вы должны получить еще один домен, как Examplecdn.com.

Другие советы

Я разместил об этом здесь: URL / поддомен переписывает (htaccess)

Думаю, у вас может быть его задом наперед, (или очень, возможно, я делаю), чтобы уточнить, если ваша реализация Bookie-mone Subdomain и имеет базовый URL WWW. По крайней мере, в этом случае файлы cookies установлены на www, например: крупный сеттер cookie - Google Analytics, поэтому при настройке их сценария на моем сайте это выглядит так:

`var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'analytics-acc-#],

['_setDomainName', '[www.valpoleative.com2'],

['_trackPageview']);

`

Здесь вы можете увидеть, что я настроил свой основной домен на www, поправьте меня, если я ошибаюсь в моем случае, мне нужно будет перенаправить www для не www поддоменов, а не наоборот. Это также настройка CNAME, сделанная на My CPanel (CNAME = «CDN», указывая на www.domain.com)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top