HTTP-запросы и их роль в сайтостроении
Веб-клиенты используют HTTP для отправки запросов на серверы с целью доступа или изменения ресурсов и данных. Важность понимания принципов работы HTTP-запросов и ответов в сайтостроении сложно переоценить. Особенно это важно, если вы планируете заниматься разработкой сайтов на профессиональном уровне. Выбрать свой путь развития в этом направлении вам поможет блог https://cityhost.ua/blog/saitostroenie/. Рекомендую почитать на досуге, а пока же возвращаемся к теме публикации и рассмотрим HTTP-запросы и ответы.

Методы HTTP-запросов
HTTP определяет набор методов, которые клиенты могут использовать для запроса информации с веб-серверов. Помните, что эти методы соответствуют операциям CRUD, которые можно выполнять с данными:
- Создание данных. Клиенты используют метод HTTP POST для создания или обновления данных на сервере. Этот метод используется, когда HTML-формы должны отправлять данные формы на сервер. Например, когда пользователь заполняет форму для создания новой учетной записи и нажимает кнопку отправки, браузер отправляет HTTP-запрос POST на сервер приложения, чтобы сохранить данные пользователя в базе данных.
- Чтение данных.
Клиенты могут использовать метод HTTP GET для получения информации с сервера. Это полезно в сценариях, где клиенту необходимо получить то, что запрашивает пользователь.
Например, когда пользователь просматривает сайт покупок и переходит на страницу «штаны», браузер может отправить GET-запрос на сервер приложения, запрашивающий список всех штанов для продажи, и затем отобразить эти результаты на странице.
Клиент может дополнительно передавать параметры, которые дают серверу больше информации о запросе, такие как идентификатор или имя конкретного объекта, который клиент хочет найти. - Обновление данных: HTTP PUT или POST методы. Клиенты используют метод HTTP PUT для создания или обновления данных на сервере. Этот метод похож на метод POST.
- Удаление данных. Клиенты используют метод HTTP DELETE для удаления ресурсов с сервера.
Формат HTTP-запроса
Сообщения HTTP-запроса, которые отправляют клиенты, состоят из строки запроса, необязательного заголовка и необязательного тела сообщения.
Строка запроса |
Заголовки |
Пустая строка |
Тело запроса |
Строка запроса
Когда клиент отправляет HTTP-запрос на сервер, он должен включить некоторую ключевую информацию о запросе:
- Метод запроса: какой тип запроса делается? (GET, PUT, POST или DELETE)
- URI для определения ресурса, задействованного в запросе: на какие ресурсы влияет этот запрос?
- Версия HTTP #: В какой версии протокола HTTP написано это сообщение?
Предположим, что URL-адрес сервера в этом сценарии – cityhost.ua, а путь к ресурсу вопроса – /questions.
- Создать – добавить новый вопрос:
POST /questions HTTP/1.1 - Читать – просмотреть вопрос (в данном случае вопрос с ID = 3):
GET /questions:3 HTTP/1.1 - Читать – просмотреть все вопросы:
GET /questions HTTP/1.1 - Обновить – Изменить вопрос:
PUT /questions:2 HTTP/1.1 - Delete- Удалить вопрос:
DELETE /questions:4 HTTP/1.1
Веб-сервер интерпретирует каждый из этих запросов на основе типа запроса и URI и отвечает или завершите операцию в зависимости от ситуации.
Заголовок и тело
Заголовок содержит дополнительные метаданные о запросе. Детали полей заголовка выходят за рамки данной статьи, поэтому их рассматривать сейчас не будем. Тело содержит дополнительные параметры для запроса и данные, которые отправляются на сервер. Если клиент отправляет запрос POST после того, как пользователь заполняет форму, данные формы будут отправлены в теле сообщения.
HTTP-ответы
Веб-серверы так же используют HTTP для отправки ответов клиентам, которые сделали запросы. Ответное сообщение HTTP состоит из состояния строки, необязательного заголовка и необязательного сообщения тела.
Строка статуса |
Заголовки |
Пустая строка |
Тело запроса |
Строка статуса сообщает клиенту результат запрошенной операции. Коды состояния записываются с использованием трехзначных кодов. Возможно, вы видели некоторые из этих кодов, если когда-либо сталкивались с отсутствующей веб-страницей или ошибкой в Интернете. Наиболее распространенными являются коды ответов:
- 200: этот код означает «ОК». Этот статус отправляется, когда сервер успешно завершил операцию.
- 400: этот код означает «Плохой запрос». Этот статус отправляется, когда сервер не может понять запрос клиента.
- 404: этот код означает «не найден». Этот статус отправляется, когда сервер не может найти запрошенную страницу или ресурс.
Подобно сообщениям HTTP-запроса, ответные сообщения также содержат заголовки и тело. Заголовок содержит необязательные метаданные о ответе. Детали полей заголовка так же выходят за рамки данного материала. Тело ответа содержит любые данные или ресурс, который сервер предоставляет в ответ на запрос. Это может быть файл HTML, запрошенный клиентом, или данные из базы данных.
На этом с HTTP заканчиваю. В будущих публикациях поговорим о том, что такое REST API, какова его роль в создании веб-приложений и как его создать.