Введение в HTTP

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

Протокол, используемый для веб-связи, называется HTTP (HyperText Transfer Protocol), что означает протокол передачи гипертекста. Ваш браузер использует HTTP для связи с веб-сервером всякий раз, когда вы вводите URL-адрес или щелкаете гиперссылку, когда пользователь отправляет данные в форме или когда страница обновляется динамическими данными.

MacBook with HTML editor

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

Роль HTTP в Интернете

HTTP определяет набор правил взаимодействия клиентов и серверов и передачи ресурсов. Ресурсы включают HTML-страницы, таблицы стилей CSS или другие данные, передаваемые между клиентами и серверами. Давайте взглянем на тип общения, который происходит в Интернете.

Базовый статический веб-сайт построен на веб-ресурсах – это файлы веб-страниц, таблицы стилей, изображения и т. д. В дополнение к этим фундаментальным веб-ресурсам веб-приложения также работают с динамическими данными. Например, приложение для покупок позволяет пользователям публиковать товары для продажи, просматривать товары для продажи, изменять их цену и доступность товаров для продажи, удалять товары. Это требует хранения, обновления и удаления данных. Подобная функциональность называется CRUD: 

  • Создание данных (Creating data) – ввод / хранение информации. 
  • Чтение данных (Reading data) – просмотр / получение информации. 
  • Обновление данных (Updating data) – изменение информации. 
  • Удаление данных (Deleting data) – удаление информации.

Каждая из этих операций связана с некоторым типом либо категорией данных. Это ресурсы, с которыми работает приложение. В дополнение к статическим файлам, которые составляют веб-страницы, вы можете рассматривать ресурсы в своем веб-приложении как большие категории информации, с которыми ваше приложение должно работать. Например, если вы разрабатываете форум «Вопросы и ответы», основными ресурсами являются: вопросы, ответы, пользователи.

Доступ к ресурсу можно получить с помощью унифицированного указателя ресурса (Uniform Resource Locator – URL). URL-адрес может быть путем к файлу (например, http://имя-домена-точка-ком/aboutme.html), либо конечной точкой (например, http://имя-домена-точка-ком/questions), при доступе к которой можно выполнить весь перечень CRUD-операций. 

Например, для форума вопросов и ответов пользователи должны иметь возможность: 

  • Create: опубликовать новый вопрос
  • Read: просмотреть детали вопроса или просмотреть список вопросов
  • Update: изменить детали вопроса
  • Delete: удалить вопрос

Основы HTTP 

Теперь давайте посмотрим, как HTTP делает возможным это взаимодействие и функциональность. 

Все взаимодействия, которые используют HTTP, основаны на запросах (requsts) и ответах (responses). 

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

HTTP вращается вокруг идеи ресурсов и действий над ресурсами. Действия, которые могут быть выполнены с HTTP, коррелируют с каждой операцией CRUD: 

  • создание данных: HTTP PUT; HTTP POST 
  • чтение данных: HTTP GET 
  • обновление данных: HTTP PUT; HTTP POST 
  • удаление данных: HTTP DELETE 

Клиенты используют эти методы HTTP для упрощения операций CRUD внутри приложения. Центральным аспектом HTTP является то, что он не имеет состояния. Это означает, что серверу и клиенту никогда не нужно помнить что-либо о ресурсах или любых предыдущих запросах/ответах. Каждый запрос и ответ не зависят от предыдущего. Мы рассмотрим эти методы запросов и ответов более подробно в следующих публикациях.

Добавить комментарий

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.