Особенности HTTP

HTTPlogo

HTTP

Особенности протокола HTTP

Так как HTTP — не единственный протокол, крайне желательно понимать его особенности и отличия от «собратьев».

    • Использование cookies

Cookies — небольшой полученный от сервера «кусочек» данных, который хранится на клиентском устройстве, например, ПК. Используются куки для аутентификации, сохранения пользовательских настроек, отслеживания состояния сессии или ведения статистики о пользователе.

    • Наличие заголовка Content-Type

Перед передачей данных протокол передает заголовок «Content-Type: тип/подтип». С его помощью клиент (в большинстве случаев браузер) определяет, как именно обрабатывать данные, которые будут получены после заголовка. Это еще одно отличие HTTP от FTP и файловых протоколов, которые определяют тип контента по расширению файла. Эта особенность играет важную роль при обработке CGI-скриптов. В случае с ними расширение файла указывает не на тип контента, а на необходимость запуска скрипта на сервере и отправку результата его работы.

Преимущества

Расширяемость. В 1992, когда HTTP только появился, он был совсем простым. Но со временем протокол обрастал новыми методами и возможностями, и он всё ещё способен к расширению и изменению.

Подробная документация. HTTP подробно описан на разных языках, и в документации есть ответы на большинство вопросов.

Распространённость. HTTP — самый популярный протокол в интернете. Он считается основным и универсальным, на нём работают практически все сайты в мире.

Недостатки

Отсутствие навигации. HTTP не позволяет запросить все доступные ресурсы и их параметры. Это исправили расширением WebDAV, но в самом HTTP такая возможность не предусмотрена.

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

Незащищённость. Базовый HTTP без шифрования совершенно небезопасен — любой может перехватить данные запроса и узнать всё: логины, пароли, данные банковских карт. Поэтому и появился HTTPS.

Вывод

HTTP — лёгкий в использовании расширяемый протокол. Структура клиент-сервера, вместе со способностью к простому добавлению заголовков, позволяет HTTP продвигаться вместе с расширяющимися возможностями Сети.

Хотя HTTP/2 добавляет некоторую сложность, встраивая HTTP сообщения во фреймы для улучшения производительности, базовая структура сообщений осталась с HTTP/1.0. Сессионный поток остаётся простым, позволяя исследовать и отлаживать с простым монитором HTTP-сообщений.