HTML form method = "HEAD" - PullRequest
       6

HTML form method = "HEAD"

2 голосов
/ 10 августа 2009

Я никогда не видел этого раньше, я всегда знал, что есть либо GET, либо POST. И я не могу найти хорошую документацию.

GET отправлять переменные через URL. POST отправить его через тело файла?

Что делает HEAD?

Не часто привыкаешь, я прав?

W3schools.com даже не упоминает об этом.

Ответы [ 5 ]

7 голосов
/ 10 августа 2009
7 голосов
/ 10 августа 2009

Метод HEAD используется для отправки запроса и получения только HTTP-заголовка в качестве ответа. Например, клиентское приложение может выполнить запрос HEAD, чтобы проверить размер файла (из заголовков HTTP), не загружая его. Как указывает Арджан, это даже недопустимо в формах HTML.

1 голос
/ 10 августа 2009

HTTP-метод HEAD отправляет заголовки ответа, но без тела; это часто полезно, как объясняет приведенный мною URL, хотя вряд ли когда-либо в виде HTML-тега «form».

0 голосов
/ 17 апреля 2019

Метод HEAD

Метод HEAD функционально похож на GET, за исключением того, что сервер отвечает строкой ответа и заголовками, но без тела объекта. Ниже приведен простой пример, который использует метод HEAD для получения информации заголовка о hello.htm:

HEAD /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

Ниже приведен ответ сервера на указанный выше запрос GET:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed

Вы можете заметить, что здесь сервер не отправляет данные после заголовка.

- Получено с tutorialspoint.com

0 голосов
/ 10 августа 2009

Единственное, что я могу себе представить, это то, что сервер действительно может быть настроен для проверки метода запроса, для обнаружения представлений роботами, которые для HEAD могут фактически использовать метод, отличный от браузера. (И, таким образом, отклонить эти представления.)

Ответ на запрос HEAD не означает, что пользователю ничего не показывается: даже ответ на HEAD может очень хорошо перенаправить на другую страницу. Тем не менее, , как отметил Гамбо : он не действителен для method в HTML-форме, поэтому для каждого возможного браузера потребуется много тестов ...

На мгновение мне стало интересно, используется ли HEAD в форме, чтобы избежать случайного множественного представления. Но я предполагаю, что единственным полезным ответом будет 301 Redirect, но его также можно использовать с GET или POST, поэтому я не вижу, как HEAD решит любые проблемы.

Быстрый тест в текущих версиях Safari и Firefox на Mac показывает, что на самом деле вызывается GET. Конечно, предполагая, что это недокументированное поведение, не следует полагаться на это. Возможно, в течение некоторого времени спам-роботы были фактически одурачены использованием HEAD (который затем был бы отклонен на сервере), или могли бы быть одурачены пропуском этой формы, если бы они поддерживали только GET и POST. Но даже самый глупый робот-программист (разве они не глупы, не понимая, что их работа - это зло?) Скоро узнает, что браузер преобразует это в GET.

(У вас есть пример веб-сайта, который использует это? Вы уверены, что нет JavaScript, который изменяет это или делает что-то еще? Кто-нибудь может проверить, что отправляет Internet Explorer?)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...