Первая страница

HTTP

коротко о протоколе
Онлайн: РИСОВАЛКИ | ИГРЫ | РЕЛАКС программы

Анатолий Опарин / апрель, 2018

Раньше, когда интернет был еще медленным, в адресной строке браузеров пользователь мог видеть аббревиатуру http, предваряющую адрес сайта. Сейчас большинство браузеров эту приставку скрывают, но это не значит, что ее нет. Есть даже https. Что же это такое?

Что и для чего

HTTP (англ. HyperText Transfer Protocol) – это протокол передачи гипертекста семейства протоколов TCP/IP. Другими словами, это соглашение между клиентом и сервером по формату запроса и ответа при обмене информацией и данными. Под клиентом, как правило, выступает обычный пользователь, а точнее его браузер. Под сервером, как правило, выступает сайт, а точнее программа-сервер, работающая на компьютере-сервере и принимающая запросы от клиентов.

Клиент обращается к серверу по URI (Uniform Resource Identifier). Это адрес файла на сервере. Это может быть также логический или абстрактный ресурс.

HTTP – протокол самого верхнего прикладного уровня согласно сетевой модели OSI (open systems interconnection basic reference model). Протокол для работы приложений.

Программное обеспечение

ПО для работы с HTTP разделяется на три класса программ:

  • Серверы. Принимают, обрабатывают запросы и отвечают на них. Основные приложения: Apache, Internet Information Services (IIS), nginx.
  • Клиенты. Отсылают запросы и интерпретируют ответы для пользователей. Основное приложение – это браузер. Также это могут быть менеджеры закачек, интернет-боты, ГИС…
  • Посредники (прокси). Они просто пропускают через себя трафик. Представители: Squid, UserGate, Multiproxy, Naviscope, nginx.
  • Структура протокола

    Каждое HTTP-сообщение состоит из трех частей, которые передаются в указанном порядке:

  • Стартовая строка – определяет тип сообщения;
  • Заголовки – характеризуют тело сообщения, параметры передачи и прочие сведения;
  • Тело сообщения – непосредственно данные сообщения. Обязательно должно отделяться от заголовков пустой строкой.
  • Стартовые строки

    Пример стартовой строки (starting line) запроса:

    GET /wiki/HTTP HTTP/1.0

    Здесь указаны метод запроса, URI (адрес страницы, который указывается ниже в заголовке), протокол и его версия. Пример стартовой строки ответа:

    HTTP/1.0 200 OK

    Здесь указывается протокол, его версия и код состояния HTTP. Кодов много. Они делятся на 5 категорий: 1XX – для информации; 2XX – для указания успешного соединения; 3XX – для перенаправления; 4XX – для указания ошибки клиента; 5XX – для указания ошибки сервера.

    Заголовки

    Заголовки HTTP (headers) – это строки, содержащие разделенную двоеточием пару параметр-значение. В них может указываться самая разная информация, относящаяся к запрашиваемому ресурсу. Все заголовки разделяются на четыре основных группы:

  • Основные заголовки – должны включаться в любое сообщение клиента и сервера.
  • Заголовки запроса – используются только в запросах клиента.
  • Заголовки ответа – только для ответов от сервера.
  • Заголовки сущности – сопровождают каждую сущность сообщения.
  • Тело сообщения

    Тело HTTP-сообщения (message-body), если оно присутствует, используется для передачи тела объекта, связанного с запросом или ответом. В теле могут передаваться сущности разных форматов (текст, графика, видео…) как вместе, так и по отдельности. Так как HTTP-сообщение – это текст, то бинарные файлы передаются в закодированном виде.

    Сессии

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

    Для сохранения данных предыдущей сессии при новом соединении клиента с сервером существуют механизмы, которые могут сохранять данные сессии или на стороне клиента, или на стороне сервера. В случае клиентского хранения браузер может их прочитать и передать на сервер в составе HTTP-запроса. Чтобы эти данные нельзя было подменить по пути к серверу, совместно с HTTP используется протокол SSL (Secure Sockets Layer) и это расширение HTTP уже называется HTTPS (HyperText Transfer Protocol Secure).

    Анатолий Опарин (по мотивам Википедии)

    Оглавление:


    Ещё обзоры для вебмастеров, расширяющие их технологический кругозор:
    Памятка начинающему вебмастеру
    Amazing Slider – программа для создания HTML5 слайдшоу, галерей, альбомов
    Blumentals WeBuilder – удобнейший редактор кода с предпросмотром
    Camtasia Studio – видеоредактор с экспортом в интерактивный HTML5 проигрыватель
    GDevelop – игровой движок c редактором в вебе, на мобильных и ПК платформах
    Google Web Designer – конструктор HTML5 баннеров и приложений
    Flip PDF – конвертор PDF документов в HTML5 приложение
    Hi Slider – программа для создания продвинутых jQuery слайдеров
    Hippani Animator – удобная анимационная студия с экспортом в HTML, video, анимированный gif
    Lunacy – для макетирования интернет-страниц
    Moodle – практика администратора СДО
    MediaWiki – как использовать для ведения и хранения документации
    MediaWiki – как скачивать Wiki-страницы в PDF
    MediaWiki – как подсвечивать синтаксис программного кода
    Nicepage – конструктор сайтов и тем для CMS
    Pinegrow – стильный визуальны конструктор сайтов
    PowerPoint в HTML5 – обзор софта конвертации
    RocketCake – лаконичный визуальный конструктор сайтов
    Saola Animate – программа для быстрого и удобного создания анимации в HTML5
    Scratch – визуальный язык программирования и редактор кода
    Sozi – программа для создания стильных HTML5 презентаций с перелетами между слайдами
    SVG – как сделать анимацию линии (имитацию рисования)
    TimelineJS – библиотека для хронологических лент
    TurboSite – лаконичный конструктор многостраничных сайтов
    TurboWarp – продвинутый форк Scratch для создания HTML5 игр и приложений
    WOW Slider – программа для создания красивых HTML5 слайдеров
    WYSIWYG Web Builder – мощный визуальный конструктор сайтов
    OpenAPI – спецификация, визуализация, инструментарий
    Визуально-блочные среды программирования и моделирования – обзор
    Инструменты для создания прототипов интернет-страниц: Axure и ProtoShare
    Что нужно знать об электронных платежах вебмастеру интернет-магазина
    Как создать интерактивный кроссворд на сайте?
    Как работать с Flash в современное время
    Спецсимволы HTML – коды около 2000 дизайнерских иконок
    Драйвер-реклама
    Тормоз-реклама
    Объявление
    # подборка книг по математике в детско-юношеской онлайн-библиотеке
    Книга - источник долголетия
    Опарин. Дети вдохновляют
    Книга для семейного чтения:
    • Стихотворные комментарии к детским рисункам
    • Энциклопедия абстрактных понятий
    • Загадки про животных
    • Детские стихи
    PDF 250 стр. без сокращений, бесплатно
    домой | живопись | графика | компьютерная графика | поделки | юные художники | темы | комментарии | перлы
    конкурсы | игры | релакс | рисовалки | учиться рисовать | детские карты Москвы | детские стихи | статьи | видео | поиск | обратная связь