Понимание типа контента в http запросе и ответе - PullRequest
0 голосов
/ 14 февраля 2019

Здравствуйте, может кто-нибудь объяснить, пожалуйста, как установить type для request и тип response для элемента html?

Пример :

Если я хочу отправить form, который отправляет files и POCO и получает stream, я бы использовал type=multipart/form-data;будет ли type в этом случае ссылаться на request или ожидаемый ответ?

<form type="multipart/form-data"><input type="file"></form>

В этом случае type явно относится к запросу. Но тогда это означаетчто server, обрабатывающий запрос, должен установить для response.type значение application/octet-stream.

Итак, по этой причине я подумал, что то, что вы установили в form, - это тип request.

Однако , тогда я не могу понять это противоречие:

<a class="button" type="application/octet-stream"  href="http://localhost:5300/get" download>Click here for dld</a>

Я не мог загрузить файл, пока не установил type response здесь. Я попытался установить тип ответа на сервере, но он не сработал. Так что в этом случае type относится к response, а не к request.

Может кто-нибудь, пожалуйста, пролить свет?Есть ли список с элементами html, на которые они ссылаются type?(тип request или ожидаемый response)?

PS
Короче говоря: почему form относится к request от typeи a относится к response. Как можно объяснить, когда он хочет отправить запрос, содержимое которого имеет тип A, а его ответ имеет тип B.

1 Ответ

0 голосов
/ 14 февраля 2019

Но тогда это означает, что сервер, обрабатывающий запрос, должен установить response.type в application / octet-stream.

Нет.Сервер может ответить любым типом контента, который ему нужен.

application/octet-stream - это довольно бессмысленное «Вот поток байтов».Обычно вы хотели бы что-то, что описывает фактический тип содержимого ответа.

Может кто-нибудь, пожалуйста, пролить свет?

Атрибут type в элементе <a> относится к типу ответа ожидаемый .Это позволяет боту избегать перехода по ссылке, если он ожидает получить ответ, который он не может понять.

Поскольку ссылка запускает запрос GET, тела запроса для описания типа в любом случае не существует.

Есть ли список с элементами html, на которые они ссылаются по типу?

Спецификация HTML описывает атрибут type для каждого элемента, в котором он отображается.например, script ссылки на этот тип .


Как можно объяснить, почему он хочет отправить запрос, содержимое которого относится к типу A, и его ответэто тип B

Вам почти никогда не нужно сообщать клиенту, какого типа ожидать, поэтому просто не делайте этого.Об этом следует беспокоиться только при создании HTTP-запросов с телами.

...