Разница между HTTP 1.0 и HTTP 1.1 (с таблицей)

Оглавление:

Anonim

Если вы пользуетесь Интернетом, вы, вероятно, встречали термин HTTP или HTTPS. Это также наиболее часто просматриваемое письмо, особенно учитывая миллиарды веб-сайтов, которые в настоящее время активны. Аббревиатурой является HTTP или протокол передачи гипертекста. Он служит как клиентским, так и серверным протоколом, определяя, как сообщения отправляются и структурируются через Интернет.

HTTP 1.0 против HTTP 1.1

Разница между HTTP 1.0 и HTTP 1.1 заключается в том, что для обозначения успешных запросов и выявления проблем передачи использовались коды состояния HTTP 1.0. HTTP / 1.1 поддерживает передачу фрагментов, что позволяет передавать материал фрагментами и доставлять дополнительные заголовки после тела сообщения.

В 1996 году был официально представлен и признан протокол HTTP / 1.0. С тех пор его популярность резко возросла. HTTPv1.0 обеспечивает только элементарную аутентификацию (управление запрос-ответ); Ключевая проблема этого метода заключается в том, что имена пользователей и пароли не шифруются, что делает их уязвимыми для шпионажа и без ограничений по времени. Было всего 16 кодов статуса.

HTTP 1.1 также обеспечивает постоянные соединения, что означает, что многие ответы и запросы могут быть отправлены через одно и то же HTTP-соединение. Метод OPTIONS является новым в HTTP / 1.1. Этот метод может легко использоваться HTTP-клиентом для обнаружения возможностей HTTP-сервера. В основном он используется в веб-приложениях для совместного использования ресурсов из разных источников.

Таблица сравнения HTTP 1.0 и HTTP 1.1

Параметры сравнения

HTTP 1.0

HTTP 1.1

Код состояния Можно определить 16 кодов состояния; однако всплывающие сообщения об ошибках недостаточно точны. Отчет об ошибках выполняется быстрее и эффективнее благодаря возможности указать 24 кода состояния.
Механизм аутентификации Поскольку пароли и имена пользователей также отправляются в виде открытого текста или в кодировке base64, основной механизм аутентификации небезопасен. Поскольку он использует дайджест-аутентификацию и аутентификацию NTLM, он относительно безопасен.
Кеширование Заголовок If-Modified-Since используется для облегчения кэширования. Использует некоторые дополнительные заголовки, такие как управление кешем.
Оптимизация производительности Поддерживает кеширование для более быстрого обслуживания большего количества страниц. Многие оптимизации используются как обходной путь к требованию «шесть подключений на хост», включая спрайтинг, конкатенацию, встраивание и сегментирование домена.
Ключевая особенность Для каждого TCP-соединения существует только один запрос и ответ. Он позволяет повторно использовать соединение, что означает, что для каждого TCP-соединения можно отправлять и получать множество запросов и ответов.

Что такое HTTP 1.0?

HTTPv1.0 обеспечивает только элементарную аутентификацию (управление запрос-ответ); Ключевая проблема этого метода заключается в том, что имена пользователей и пароли не шифруются, что делает их уязвимыми для шпионажа, и отсутствуют временные ограничения. Любая информация, полученная с помощью шпионажа, может использоваться долгое время после ее получения. Клиент должен вычислить контрольную сумму пароля, имени пользователя, одноразового значения, включая тип HTTP-запроса, и запрошенного URI для действительного ответа.

Поскольку HTTP1.0 предназначался для использования нового соединения TCP для каждого запроса, каждая апелляция должна была оплачивать расходы на установление нового соединения TCP. Поскольку большинство интернет-транзакций являются кратковременными и редко выходят за рамки стадии медленного старта, они не позволяют оптимально использовать доступную полосу пропускания. Хотя в некоторых реализациях версии 1.0 использовался заголовок «keep-alive», чтобы требовать, чтобы ссылка оставалась активной, с промежуточным прокси-сервером это не работало.

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

Что такое HTTP 1.1?

Эта проблема решается путем введения постоянных соединений и конвейеров. HTTP / 1.1 подразумевает, что соединение TCP должно оставаться активным, если явно не запрашивается отключение при использовании постоянных соединений. Он позволяет клиенту подавать множество апелляций по одному и тому же соединению, не дожидаясь ответа на каждую, что значительно увеличивает производительность HTTP / 1.1 по сравнению с HTTP / 1.0.

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

Это называется блокировкой заголовка HOL и представляет собой серьезную проблему, когда речь идет об улучшении производительности соединения HTTP / 1.1. Отдельные параллельные TCP-соединения могут решить проблему, однако количество одновременных TCP-соединений между клиентом и сервером ограничено, и каждое новое соединение потребляет много ресурсов.

Управление потоком в HTTP / 1.1 основано на TCP. Когда TCP установлен, и сервер, и клиент используют свои системные настройки по умолчанию для определения размеров буфера. Если буфер получателя частично заполнен, он информирует отправителя об окне приема получателя или количестве свободного места в его буфере.

Основные различия между HTTP 1.0 и HTTP 1.1

Вывод

С момента своего создания в 1989 году протокол HTTP или гипертекстовой передачи был стандартом для передачи данных в сети. С момента первого выпуска в 1997 году в HTTP / 1.1 было внесено всего несколько изменений. Однако в 2015 году был представлен HTTP / 2,

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

использованная литература

Разница между HTTP 1.0 и HTTP 1.1 (с таблицей)