Назад | Перейти на главную страницу

Если я отправлю HTTP-запрос GET, получу ли я ответ в GET?

Это, наверное, очень простой вопрос, так что простите за невежество

Какой метод использует сервер для ответа на полученные запросы?

Я делаю веб-приложение, и есть определенный маршрут, который возвращает большой файл (например, изображение .iso). Поэтому, когда пользователь нажимает кнопку загрузки, я заставляю JavaScript запрашивать URL-адрес с {method: "GET"}.

Когда в это время начинается загрузка на компьютере пользователя, какой HTTP-метод сервер использует для отправки файлов?

Я очень запутался:

Каким методом пользователь сервера отвечает на получаемые запросы?

HTTP протокол запрос-ответ. Независимо от метода HTTP (GET, POST, HEAD и т. Д.), Который вы используете для отправки запроса на сервер, сервер всегда отвечает таким же образом (что не имеет ничего общего с вашим методом запроса); Конечно, содержание ответа меняется в зависимости от вашего запроса.
Так что нет таких вещей, как ответы POST или GET.

как обрабатывается загрузка пользователя на сервер?

При загрузке файлов на сервер / службу вы отправляете запрос, содержащий сам файл, протокол HTTP. предлагает что ты должен отправлять данные с помощью запроса POST.

При загрузке файлов с сервера сервер отправит вам файл внутри ответа. Вы должны использовать запрос GET при запросе удаленных файлов, поскольку GET определяется как команда, используемая для извлечения ресурсов. Кроме того, тип отправляемых данных указывается в заголовке как запроса, так и ответа как Content-Type.

Обратите внимание, что вы можете также загружать файлы с помощью GET, вставляя весь файл в URL-адрес, или загружать файлы в ответ на запрос POST. Однако это нестандартные приложения и есть ограничения (например, ограничение максимальной длины URL-адреса), у вас также будет гораздо больше работы на стороне сервера, обрабатывающей эти запросы.

По умолчанию используется POST для больших файлов?

На это уже должен быть дан ответ - сервер не отправляет вам ни POST, ни GET, а только ответы.

Как программисту сделать так, чтобы загрузка была легкой (возобновляемой) для моих конечных пользователей?

Это будет зависеть как от серверной, так и от клиентской технологии. Современные браузеры и правильно настроенные веб-серверы обычно могут автоматически возобновлять загрузку существующих файлов. Однако, если вы вручную создаете ответ файла на сервере, вам также потребуется вручную обработать возобновление загрузки. Смотрите этот ответ для реализации с PHP.

В GET и POST методы запроса для клиентов. Видеть сравнение.

  • GET - запрашивает данные из указанного ресурса. Строка запроса (пары имя / значение) отправляется в URL-адресе запроса GET.
  • POST - отправляет данные для обработки на указанный ресурс. Строка запроса (пары имя / значение) отправляется в теле HTTP-сообщения запроса POST.

Метод не меняется от запроса к ответу. В заголовках ответов даже не упоминается метод. (Пример из этого Основы HTTP статья.)

HTTP/1.1 200 OK
Date: Sun, 18 Oct 2009 08:56:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Sat, 20 Nov 2004 07:16:26 GMT
ETag: "10000000565a5-2c-3e94b66c2e680"
Accept-Ranges: bytes
Content-Length: 44
Connection: close
Content-Type: text/html
X-Pad: avoid browser bug

<html><body><h1>It works!</h1></body></html>

Здесь Content-Type Заголовок играет большую роль в определении того, что клиент должен делать с контентом.