
В Интернете браузеры обмениваются данными с веб-серверами, известными как протокол HTTP. Этот протокол контролирует, как клиент формулирует запрос и как сервер отвечает на него. Протокол HTTP имеет различные методы HTTP. Стоит знать наиболее распространенные из них. В этой статье подробно рассматриваются отдельные методы HTTP-запросов, также часто называемые HTTP-глаголами.
GET
GET является «прародителем» HTTP-запросов. Этот HTTP-глагол существует с самого начала существования Всемирной паутины. Он используется для запроса ресурса — например, HTML-файла — с веб-сервера.
Когда вы вводите в браузер URL: www.example.com, он соединяется с веб-сервером и посылает GET-запрос:
GET /index.php
Файл index.php в этом примере — это просто домашняя страница, которая отправляется с сервера в браузер.
Аналогично, запрос файла test.html с URL www.example.com/test.html будет сформулирован следующим образом:
GET /test.html
В этом случае сервер вернет файл test.html.
Параметр URL
К GET-запросу можно добавить дополнительную информацию для обработки веб-сервером. Эти параметры URL просто добавляются к URL. Синтаксис очень прост:
- Строка запроса начинается со знака вопроса («?»).
- Каждый параметр именуется, то есть состоит из имени и значения: «Имя=Значение».
- Если необходимо включить несколько параметров, они соединяются с помощью амперсанда («&»).
Вот пример. На сайте компании, производящей программное обеспечение, вводится «Windows» в качестве платформы и «Office» в качестве категории, чтобы получить соответствующие предложения от сервера:
GET /search?platform=Windows&category=office
URL-кодирование строк запросов
Строки запросов требуют специального символьного кодирования, поскольку многие специальные символы имеют уникальное значение. Например, текст «Обзор HTTP» должен быть закодирован следующим образом, чтобы быть принятым в качестве строки запроса:
GET /search?topic=HTTP-%C3%9Cberblick%0A
Вы можете легко создавать кодировки URL с помощью онлайн-инструментов, таких как URL Encoder, или автономных инструментов, например, функции Excel URLCODE().
POST
Если вы хотите отправить большой объем данных, например, изображений, или поделиться с сервером конфиденциальными данными, HTTP-глагол GET не является идеальным, поскольку все отправленные вами данные записываются в адресную строку браузера без шифрования.
В этом случае больше подходит метод POST. Этот метод не записывает параметры URL в URL, а добавляет их в заголовок HTTP.
POST-запросы чаще всего используются в связи с онлайн-формами. Вот пример формы, которая принимает имя и адрес электронной почты и отправляет их на сервер с помощью POST:
<html>
<body>
<form action="newsletter.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>
Запутались в разнице между GET и POST? Наше специальное руководство содержит всю информацию о том, что отличает GET от POST.
HEAD
Метод HEAD HTTP используется для запроса заголовка ответа без немедленной отправки файла. Это полезно, например, при передаче больших файлов: Благодаря HTTP-запросу HEAD клиент может сначала получить информацию о размере файла и только потом решить, хочет ли он его получить.
Пример:
HEAD /downloads/video1.mpeg HTTP/1.0
В заголовке ответа сервера клиент находит информацию о размере файла в поле заголовка «content-length»:

OPTIONS
С помощью метода OPTIONS клиент может запросить, какие методы поддерживает сервер для данного файла.
OPTIONS /download.php
Ответ может выглядеть следующим образом:

В поле «allow» мы узнаем, что сервер поддерживает методы OPTIONS, GET, HEAD и POST. В поле «content-length» число «0» говорит нам о том, что файл не был передан, только заголовок.
TRACE
Метод TRACE можно использовать для отслеживания маршрута, по которому HTTP-запрос проходит к серверу и обратно к клиенту. Вы можете использовать команду tracert в Windows, чтобы самостоятельно отследить этот маршрут. Для этого введите следующую команду в командной строке (cmd.exe):
tracert www.example.com
Специализированные методы
Некоторые методы применимы только в связи с определенными конфигурациями. К ним относятся HTTP-глагол CONNECT, который устанавливает прямое защищенное соединение через прокси-сервер (туннелирование), и различные методы в связи с WebDAV: PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK и UNLOCK.
PUT, PATCH и DELETE используются для сохранения, изменения или удаления файлов на сервере. Для традиционного программирования веб-сайтов эти методы играют лишь незначительную роль, поскольку они блокируются серверами по соображениям безопасности. Они используются в контексте WebDAV и в связи с REST-API.