http протокол - открытие соединений с "левыми" серверами?

aZa

Новичок
http протокол - открытие соединений с "левыми" серверами?

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

Известно, что если в страничку вставить изображение с другого сервера, то браузер откроет дополнительное хттп-соединение с этим сервером для получения собс-но этой картинки. Так вот когда именно это "левое" соединение разрывается - после получения этой картинке или после выгрузки всей страницы? То есть существенно ли замедлит(коннект-разрыв, коннект-разрыв ...) добавление к страницы других картинок с этого "левого" сервера? Известно, что в данный момент практически все работают на persistent connection, но использует ли этот же тип соединения для "леваков"?

Если ответ на предыдущий "да", то какой же лимит этих соединений и от чего он зависит?
 

Фанат

oncle terrible
Команда форума
Известно, что если в страничку вставить изображение с другого сервера
Известно, что в страничке НЕТ никаких "других серверов"
то браузер откроет дополнительное хттп-соединение
не одно соединение, а столько, сколько картинок
То есть существенно ли замедлит(коннект-разрыв, коннект-разрыв ...) добавление к страницы других картинок с этого "левого" сервера
замедлит существенно.
Картинки весят в сотни раз больше, чем НТТР-запрос. И вот как раз загрузка этих картинок, а не мифический коннект-разрыв и замедлят загрузку страницы.
Причем ВООБЩЕ никакой разныцы - с левого сервера они загружаются, или с правого.
Известно, что в данный момент практически все работают на persistent connection
откуда известно? что это за зверь такой в протоколе НТТР?
тип соединения для "леваков"?
Повторяю. для браузера нет никаких ни леваков ни праваков.

Еще вопросы?
 

aZa

Новичок
Однако .... Не ожидал от завсегдатая phpclub.ru такой реакции и такого ответа. Ладно, попробую объяснить популярно.

Клиент (браузер) - Серверу (Apache):

1) ОТКРЫТЬ СОЕДИНЕНИЕ

2) GET la-la-la-la/page.html
HOST: host.com
# Сервер отдает html страницу, браузер ее парсит и получает
информацию о всех картинках на странице, после чего ...

3) GET la-la-la-la/1.jpg
# и так далее

4) ЗАКРЫТЬ СОЕДИНЕНИЕ

Как видит уважаемый профи используется система "постоянного коннекта", то есть браузер НЕ разрывает соединения с сервером, пока не получит все необходимые для отображения страницы файлы.

Однако, если на странице замечено что-то вроде <img src=otherhost.com/3.jpg>, то браузер волей-неволей вынужден открыть дополнительное соединение с otherhost.com для получения картинки 3.jpg ....

По поводу комментария "не существенности" коннект-разрыв. При самом удачном пинге на диал-апе вы получите порядка 300-400ms и если для каждой картинки сайта прийдется вначале ожидать ответа от сервера эти 300-400мс, то время загрузки увеличивается (траффик - нет, а время ответа - да).

А теперь перечитайте мой первый пост еще раз и если вопрос по прежнему не понятен, попробую уточнить.
 

Фанат

oncle terrible
Команда форума
Да, признаю, был неправ.
Только, все же, не вижу я разницы, с точки зрения брузера, между левыми и правыми серверами.

И еще. о каком браузере спрашиваем?
 

aZa

Новичок
Разница в том, что браузер вынужден открывать дополнительное TCP/IP соединение. Если же все изображения расположены на том же сервере, что и страница, клиент прекрасно обходится одним соединением для получения всех необходимых файлов.

Вопрос какой именно браузер, я полагаю, не существенен, так как фактически все придерживаются стандарта HTTP/1.1

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

Фанат

oncle terrible
Команда форума
Насколько я бегло просмотрел раздел "соединения", ничего о разных левых серврах там нету. А если бы было - ты бы и сам прочитал.
Отсюда следует вывод, что каждый браузер будет это делать по-разному.
Отсюда следует вывод ,что любой данный тебе ответ может оказаться неверным.
Отсюда следует вывод, что раз тебя этот вопрос инетерсует, тебе следует взять tcp sniffer и посмотреть самостоятельно, сколько и каких соединений открывает браузер.
 
Сверху