2014-09-24 5 views
7

Это может показаться тривиальным вопросом, но все же ... У меня есть путаница в этом.Каково использование режима http non persistent connection

Практически на каждом сайте я читал, что HTTP-постоянные или поддерживаемые соединения лучше, чем непостоянные. Ques: Итак, почему непостоянный даже существует?

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

Как я понимаю, я думаю, что поисковые системы не могут использовать постоянные соединения.

Может кто-нибудь, пожалуйста, просветить меня по этой теме.

Еще одно сомнение, связанное с запросами HTTP. Я прочитал, что если страница содержит ссылку на несколько объектов, то веб-браузер делает так много запросов на получение всех этих (поэтому используются постоянные соединения). Я сомневаюсь, почему все объекты не встроены в страницу и отправлены как один объект? Если аргумент состоит в том, что он делает страницу тяжелой и не поддерживает пропускную способность, то в любом случае браузер открывает параллельные соединения для извлечения нескольких объектов, которые снова помещают одну и ту же нагрузку в сеть.

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

Это могут показаться глупыми вопросами, но я не могу помочь. У меня есть сомнения, и мне нужно это понять, и вы можете помочь. Thanks

ответ

4

original HTTP specification всегда использует непостоянные соединения; HTTP/1.1 added persistence, потому что он более эффективен для веб-страниц, которые вставляют множество внешних объектов (которые были редко встречались при написании HTTP/1.0).

Однако, хотя HTTP/1.1 разрешает постоянные соединения, существуют реализации, которые не поддерживают их, или которые по-прежнему поддерживают только HTTP/1.0. По этой причине для HTTP/1.1 требуется, чтобы заголовок Connection: keep-alive был отправлен, чтобы включить эту функцию, и отправить Connection: close, чтобы отключить его.

В базовую кодировку данных можно включить средства массовой информации непосредственно в формате HTML, включив их в файл data: URL. Обычно это не делается, потому что это замедляет работу вашего веб-браузера. Со стандартной HTML-страницей браузер может начать рендеринг структуры страницы, не дожидаясь загрузки (довольно большого) inline data:.

+0

Я знаю, что по умолчанию HTTP 1.1 является постоянным, а веб-серверы реагируют с очень низким временем сохранения. Но это еще не отвечает на мой вопрос. – user3275095

+0

@ user3275095 Я думал, что я ответил хотя бы на несколько из ваших нескольких вопросов. К чему вы относитесь? –

+0

Я чувствую, что мне отвечает только последний. – user3275095

0

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

Надеюсь, что этот HTTP Persistent connection поможет вам разобраться.