принять заголовок в HTTP-запросе - PullRequest
0 голосов
/ 24 июня 2018

Я пытаюсь изучать веб-сервисы в целом и у меня есть небольшое сомнение.

Когда отправляется HTTP-запрос, если я упомяну определенный формат (например, JSON) в заголовке Accept и предположим, что сервер не поддерживает этот формат, то это будет ошибка сетевого вызова или сервер все равно ответит каким-либоформат, который он поддерживает?

Я знаю, что при отправке запроса POST клиент отправляет другой заголовок с именем «Тип содержимого», и если этот формат не поддерживается сервером, он возвращает ошибку 415.(неподдерживаемый тип носителя).

Ответы [ 2 ]

0 голосов
/ 24 июня 2018

Это зависит от сервера.Не нужно обращать внимание на поле заголовка Accept.

Запрос без какого-либо поля заголовка Accept подразумевает, что пользовательский агент примет любой тип носителя в ответ.Если поле заголовка присутствует в запросе и ни одно из доступных представлений для ответа не имеет тип мультимедиа, который указан как приемлемый, сервер происхождения может либо удовлетворить поле заголовка, отправив ответ 406 (не приемлемо), либо игнорировать заголовокобработать ответ, как если бы он не подлежал согласованию содержимого.

(из https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.5.3.2.p.7)

0 голосов
/ 24 июня 2018

Для веб-служб сервер будет отвечать за обозначение типа формата, который он намерен поддерживать, независимо от того, использует ли он JSON или XML.

На основании данных, полученных от клиента, сервер должен проверить формат, предоставленный клиентом. Если он соответствует указанному формату, то сервер ответит в соответствии с намерением конечной точки. С другой стороны, если он не подходит, сервер должен изящно ответить, указывая, что формат (JSON / XML) не поддерживается веб-службами.

Надеюсь, это ответит на ваш вопрос. Хорошего дня!

...