
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-сообщений.