HTTP-запросы: методы, синтаксис и объяснение

В Интернете браузеры обмениваются данными с веб-серверами, известными как протокол 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 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.

Оцените статью
cdelat.ru
Добавить комментарий