Curl - это инструмент командной строки с открытым исходным кодом и кроссплатформенная библиотека (libcurl) для передачи данных между клиентами и серверами, которые работают практически на всех платформах и аппаратных средствах. Curl поддерживает все популярные интернет-протоколы и используется везде, где нужно отправлять или получать данные по сети.
Что такое HTTP HEAD?
HTTP HEAD - это один из 9 стандартных методов запроса, поддерживаемых протоколом HTTP. При запросе HEAD сервер отправляет ответ, идентичный запросу GET, но без тела ответа. Запросы HEAD используются для получения мета-информации о ресурсе, такой как тип и размер ресурса. Поскольку сервер не возвращает тело ресурса при запросе HEAD (в отличие от запроса GET), это делает запрос HEAD идеальным методом для проверки страницы на наличие битых ссылок. Метод HTTP HEAD должен быть доступен только для чтения (сервер не должен изменять свое состояние) и должен быть идемпотентным, что означает, что несколько одинаковых запросов HEAD должны иметь тот же эффект, что и один запрос.
Отправка HTTP-запроса HEAD с помощью Curl
Чтобы отправить запрос HEAD с помощью Curl, вы должны передать параметр --head (-I) в вызове Curl. Альтернативным способом отправки HEAD-запроса с помощью Curl является передача аргумента командной строки -X HEAD вместо -I. Обратите внимание, что некоторые серверы могут отклонять запросы HEAD, но при этом отвечать на запросы GET. Метод HEAD определен таким образом, что сервер должен возвращать заголовки так же, как и при GET-запросе, но без тела. Это означает, что вы можете увидеть заголовки Content-Type и Content-Length в ответе сервера, но сам ответ не будет содержать тела сообщения.
Примеры запросов HEAD в Curl
Ниже приведены примеры отправки запросов HEAD:
Curl HEAD-запрос с использованием параметра -I
Ниже приведен пример отправки запроса HEAD на эхо-адрес example.com с использованием параметра командной строки -I:
1 | curl -I https://example.com/echo |
Запрос HEAD с использованием параметра --head
Ниже приведен пример отправки запроса HEAD на эхо-адрес example.com с использованием параметра командной строки --head:
1 | curl --head https://example.com/echo |
Запрос curl HEAD с использованием параметра -X HEAD
Ниже приведен пример отправки запроса HEAD на эхо-адрес example.com с использованием параметра командной строки -X HEAD:
1 | curl -X HEAD https://example.com/echo |
Какой метод лучше использовать -I или -X HEAD?
Curl рекомендует использовать метод -I. Метод -X HEAD не отображает заголовки по умолчанию, а для просмотра заголовков при использовании метода -X HEAD необходимо также передать Curl параметр командной строки -i (строчный). Следовательно, -I является правильным способом получения заголовков.