URL-адреса и протокол HTTP - PullRequest
       75

URL-адреса и протокол HTTP

0 голосов
/ 22 января 2020

В настоящее время я изучаю, как передавать сообщения через URL на хост-сервер. До сих пор я узнал, как составляется URL: http://example.com:80/latest/example.jpg?d=400x400 дает мне изображение «example.jpg» в измерении, запрошенном с хоста через порт 80 (который можно не указывать, поскольку http всегда использует порт 80). Сообщение запроса на это будет выглядеть так: GET latest/example.jpg?d=400x400 HTTP/1.1. Ответное сообщение будет выглядеть так: HTTP/1.1 200 OK.

Так что мне понятно, как получить какой-то ресурс с хоста. Но что с другими методами HTTP, такими как PUT, POST или DELETE? Я не понимаю, где в URL-адресе передается HTTP-метод для чтения. Как мне сказать хосту PUT вместо GET?

Заранее спасибо.

1 Ответ

2 голосов
/ 22 января 2020

Кажется, есть небольшое заблуждение относительно URL и соответствующих запросов.

URL http://example.com:80/latest/example.jpg?d=400x400 состоит из 5 частей:

  • Используемый протокол (в вашем случае http)
  • Использование fqdn - полное доменное имя - (в вашем случае example.com)
  • Порт на fqdn - в вашем случае 80 - что в вашем случае не нужно, потому что ваш браузер по умолчанию установит значение 80 для http
  • вашего запрошенного ресурса, в вашем случае /latest/example.jpg
  • запрошенных вами параметров GET, обозначенных?, в вашем случае параметр d со значением 400x400

Обратите внимание, что сообщение с запросом выглядит только так, как вы обрисовали, потому что ваш браузер по умолчанию использует метод GET HTTP. Как вы правильно сказали, существуют различные методы HTTP, такие как PUT, POST, PATCH, DELETE и т. Д. c.

HTTP-метод указан в заголовке HTTP, так что это зависит от запроса, какой HTTP-метод вызывается.

Для "хорошо известного" сёрфинга inte rnet ваш набранный URL всегда будет приводить к GET-запросу. Для других методов HTTP это зависит от приложения (например, вашего веб-сайта или вашего обычного программного обеспечения, использующего запросы HTTP), чтобы разрешить использование. Например, html позволяет использовать теги <form>, где вы можете указать метод http, например, вы можете сказать использовать POST.

Подводя итог: Ваш URL не указывает HTTP- Методы.

Браузеры по умолчанию используют GET, но, в конце концов, именно ваше приложение (и, следовательно, логики c за ним) выбирает HTTP-метод.

...