Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Виды соединений




Заголовок set-cookie

 

Установка cookie. Строка, в которой через точку с запятой задаются параметры.

Set-Cookie: fname=chris; domain=.httphandbook.org; path=/; expires=Tue, 21 May 2002 12:34:56 GMT; secure

HTTP имеет средство оптимизации трафика и ускорения взаимодействия клиента с сервером за счет исключения избыточных действий.

С сервером по HTTP может устанавливаться:

1) отдельное соединение;

2) постоянное соединение («Keep alive connection»).

Ресурсы сами могут ссылаться на другие ресурсы (картинки) – нужно загрузить все ресурсы. Как можно это сделать?

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

Б) постоянное соединение («Keep alive connection»). В версии HTTP 1.0 по умолчанию подразумевалось параллельно открытое соединение, в версии HTTP 1.1 по умолчанию устанавливается постоянно открытое соединение, т.е. если соединение устанавливается, то оно не закрывается и запросы на получение ресурса идут через одно и то же открытое соединение.

3) Соединение в режиме трубы (системы массового обслуживания, СМО). В этом режиме по установленным и поддерживаемым постоянно соединениям следующий запрос может быть отправлен, даже если ответ на предыдущий запрос еще не получен.

Т.е. запросы посылаются не в режиме запрос-ответ-запрос-ответ, а в режиме запрос-запрос-запрос, ответ-ответ-ответ. Это позволяет более эффективно использовать трафик. Но этот режим является сложным, т.к. порядок прихода ответов должен совпадать с порядком отправления запросов (в ответе отсутствуют методы для идентификации запроса).

При использовании режимов постоянного соединения или СМО важно использование таких заголовков, как content length и content type.

HTTP/1.1 200 OK Date: Tue, 21 May 2002 12:34:56 GMT Content-Type: text/html Content-Length: 102 Content-length показывает размер содержимого в байтах и позволяет корректно читать данные. Без этого размера использовать СМО или постоянное соединение невозможно, т.к. необходимо знать правильное количество данных ответа. Заголовки ответа content-type и content-length часто являются обязательными, если используется постоянно открытое соединение. Такой подход может порождать дедлок браузера не по вине браузера.

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

На сервере часто работает программное обеспечение, которое ограничивает количество запросов, зная, что браузеры в большинстве своем работают в режиме keep alive (постоянно открытое соединение). Например, может стоять ограничение на установку не более 2х соединений с одного IP-адреса. Если приходит очередной запрос на установку соединения, то при большой нагрузке на сервер может возникать следующая ситуация: запрос попадает в очередь, отправляется подтверждение (флаг ACK), но Accept не делается. Получается, что каждое новое соединение, которое приходит от клиента, устанавливается в очередь в надежде, что сейчас будет закрыто предыдущее соединение.




Поделиться с друзьями:


Дата добавления: 2014-11-16; Просмотров: 427; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.