Поддержание одновременных соединений в HTTP? - PullRequest
1 голос
/ 06 августа 2009

Мне нужно поддерживать несколько активных соединений AJAX с длинным пулом к ​​веб-серверу.

Я знаю, что большинство браузеров не допускают более двух одновременных подключений к одному серверу. Вот что сообщает HTTP 1.1 :

Клиенты, которые используют постоянные Соединения ДОЛЖНЫ ограничивать количество одновременные соединения, которые они поддерживать на данном сервере. однопользовательский клиент НЕ ДОЛЖЕН поддерживать более 2-х соединений с любым сервер или прокси. Прокси ДОЛЖЕН израсходовать до 2 * N подключений к другому серверу или прокси, где N - число одновременно активные пользователи. Эти руководящие принципы предназначены для улучшения Время ответа HTTP и избегать заторы.

Предположим, что у меня есть 2 поддомена Server1.MyWebSite.Com и Server2.MyWebSite.Com , использующих один и тот же IP-адрес , смогу ли я установить одновременные подключения 2x2?

Ответы [ 3 ]

1 голос
/ 06 августа 2009

Похоже, что разные имена хостов на одном и том же IP могут быть полезными . При подключении AJAX могут возникнуть проблемы из-за Одинаковая политика происхождения .

Редактировать: в соответствии с вашим вопросом document.domain (из Справочник по безопасности браузера Google ):

Проверки для целей XMLHttpRequest не учитывают document.domain ...

0 голосов
/ 08 октября 2009

Нет браузер основывает свой предел подключения на IP-адресе. Все браузеры устанавливают ограничение на указанное полное доменное имя.

Следовательно, да, было бы вполне нормально иметь псевдоним DNS на вашем сервере, хотя более ранний ответ верен: XHR потребует от вас использовать доменное имя страницы для XHR и использовать псевдоним для загрузки статического содержимого. (изображения и т. д.) на странице.

Между прочим, современные браузеры обычно увеличивают лимит подключений до 6 или 8 подключений на хост.

0 голосов
/ 06 августа 2009

Это будет зависеть от браузера на 100%. Некоторые могут основывать ограничение на 2 соединения на доменное имя, некоторые на IP-адрес.

Другие позволят вам делать сколько угодно.

...