Как определяется ошибка в общей библиотеке http?Могут ли данные и ошибки сосуществовать? - PullRequest
0 голосов
/ 06 июля 2019

Функция обратного вызова, используемая в библиотеке http request, обычно имеет параметр error и 1 (или 2) больше для содержимого ответа.

Однако я не могу найти четкого определения объекта ошибки и взаимосвязи между объектом ошибки и ответом (главным образом, если они могут сосуществовать).

Для Q1 у меня первое впечатление, что его можно классифицировать по коду статуса. Если это так, ошибка в http может иметь только одну из двух категорий (клиент / сервер)?

Для Q2, я полагаю, в некоторых сценариях имеет смысл иметь оба варианта. Например, возможно ли, что сервер ответит 451 Unavailable For Legal Reasons, но все же вернет некоторые поля наилучшим образом?

1 Ответ

0 голосов
/ 07 июля 2019

«Могут ли данные и ошибки сосуществовать?»

Да, они могут сосуществовать.На самом деле, согласно RFC7231 (семантика HTTP и контент)

3.3.Семантика полезной нагрузки

...

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

"Как определяется ошибка в общей библиотеке http?"

Это логика реализации библиотеки HTTP.Поскольку любой может разработать библиотеку HTTP, проанализировать полезную нагрузку ответа и делать все, что он / она хочет, вопрос «как определяется ошибка» в основном решается разработчиком библиотеки и не имеет критериев для ответа.

...