Вопросы с тегом «http»

HyperText Transfer Protocol - текстовая система для представления веб-запросов и ответов.

162
Почему HTTP не имеет перенаправления POST?

HTTP-перенаправления выполняются с помощью HTTP-кодов 301 и 302 (возможно, также других кодов) и поля заголовка, известного как «Location», в котором есть адрес нового места для перехода. Однако браузеры всегда отправляют запрос «GET» на этот URL. Однако часто вам нужно перенаправить пользователя в...

109
Почему GET-запрос не должен изменять данные на сервере?

По всему интернету я вижу следующий совет: GET никогда не должен изменять данные на сервере - используйте для этого запрос POST Что лежит в основе этой идеи? Если я создаю php-сервис, который вставляет данные в базу данных и передает их параметры в строку запроса GET, почему это неправильно? (Я...

72
Какой код статуса HTTP нужно вернуть, если несколько действий заканчиваются разными состояниями?

Я создаю API, где пользователь может попросить сервер выполнить несколько действий в одном HTTP-запросе. Результат возвращается в виде массива JSON с одной записью на действие. Каждое из этих действий может быть неудачным или успешным независимо друг от друга. Например, первое действие может быть...

62
Что предлагает HATEOAS для обнаружения и отделения, помимо возможности более или менее свободно изменять структуру URL-адресов?

В последнее время я читал о гипермедиа как о механизме состояния приложения (HATEOAS), об ограничении, которое, как утверждается, делает веб-API «действительно RESTful». Это сводится к тому, чтобы в основном включать ссылки в каждый ответ на возможные переходы, которые вы можете сделать из текущего...

60
Конечный слеш в RESTful API

У меня были споры о том, что делать с косой чертой в RESTful API. Допустим, у меня есть ресурс под названием собаки и подчиненные ресурсы для отдельных собак. Поэтому мы можем сделать следующее: GET/PUT/POST/DELETE http://example.com/dogs GET/PUT/POST/DELETE http://example.com/dogs/{id} Но что нам...

58
Когда использовать код состояния HTTP 404 в API

Я работаю над проектом и после споров с людьми на работе более часа. Я решил узнать, что могут сказать люди на стек-обмене. Мы пишем API для системы, есть запрос, который должен возвращать дерево организации или дерево целей. Дерево организации - это организация, в которой присутствует...

56
Должен ли я возвращать статус HTTP 400 (неверный запрос), если параметр синтаксически правильный, но нарушает бизнес-правило?

Скажем, у меня есть конечная точка REST, которая принимает целое число в качестве параметра: /makeWaffles?numberOfWaffles=3 В этом случае я хочу, чтобы число было положительным, потому что я не могу сделать отрицательное число вафель (а запрос 0 вафель - пустая трата времени). Поэтому я хочу...

54
Должен ли я использовать коды состояния HTTP для описания событий уровня приложения

Несколько серверов, с которыми я имел дело, будут возвращать HTTP 200 для запросов, которые клиент должен рассматривать как сбой, с чем-то вроде «success: false» в теле. Это не похоже на правильную реализацию HTTP-кодов, особенно в случаях неудачной аутентификации. Я прочитал коды ошибок HTTP...

51
Каким должен быть код состояния http для ошибки «Служба недоступна в вашем регионе»?

Наш сервис сейчас в 5 городах. Если кто-то пытается вызвать наш сервис API из любого другого города, мы хотим выбросить эту ошибку Service not available in your area. Вопрос в том, какой код http будет подходящим для этой ошибки? сервис 503 недоступен 403: запрещено или что-то...

51
Что принадлежит в заголовке HTTP-запроса против тела запроса?

Я работаю над набором веб-сервисов для мобильного клиента, и требования требуют, чтобы уникальный идентификатор устройства был включен во все запросы, сохранялся в определенных запросах и использовался для фильтрации результатов в других. Было предложено поместить его в настраиваемый заголовок...

48
Почему метод PATCH не идемпотентен?

Мне было интересно об этом. Предположим , у меня есть userресурс с idи nameполей. Если я хочу обновить поле, я мог бы просто сделать запрос PATCH к ресурсу, как это PATCH /users/42 {"name": "john doe"} И тогда приложение обновит имя пользователя 42. Но почему, если я повторю этот запрос, результат...

47
Код состояния HTTP для «Обработки еще»

Я создаю RESTful API, который поддерживает постановку в очередь длительных задач для возможной обработки. Типичный рабочий процесс для этого API: Пользователь заполняет форму Клиент отправляет данные в API API возвращает 202 Принято Клиент перенаправляет пользователя на уникальный URL для этого...

46
Как REST API должен обрабатывать PUT-запросы к частично модифицируемым ресурсам?

Предположим, что REST API в ответ на HTTP- GETзапрос возвращает некоторые дополнительные данные в подобъекте owner: { id: 'xyz', ... some other data ... owner: { name: 'Jo Bloggs', role: 'Programmer' } } Понятно, что мы не хотим, чтобы кто-то мог PUTвернуться { id: 'xyz', ... some other data ......

43
Рекомендуемый код состояния HTTP REST для «достигнутого лимита запроса»

Я собираю спецификацию для службы REST, часть которой будет включать в себя возможность регулирования пользователей в рамках всей службы, а также для групп или отдельных ресурсов. Точно так же тайм-ауты для них будут настраиваться для каждого ресурса / группы / услуги. Я просто просматриваю...

40
REST - компромисс между согласованием контента через заголовок Accept и расширением

Я работаю над созданием RESTful API. Мы знаем, что хотим вернуть JSON и XML для любого ресурса. Я думал, что мы сделаем что-то вроде этого: GET /api/something?param1=value1 Accept: application/xml (or application/json) Однако кто-то бросил использовать расширения для этого, например, так: GET...

36
RESTful API. Должен ли я вернуть объект, который был создан / обновлен?

Я разрабатываю веб-сервис RESTful с использованием WebApi, и мне было интересно, какие HTTP-ответы и тела ответов нужно возвращать при обновлении / создании объектов. Например, я могу использовать метод POST для отправки некоторого JSON в веб-сервис, а затем создать объект. Рекомендуется ли затем...

34
Есть ли проблемы с реализацией пользовательских методов HTTP?

У нас есть URL в следующем формате / Экземпляр / {instanceType} / {InstanceId} Вы можете вызвать его стандартными методами HTTP: POST, GET, DELETE, PUT. Однако есть еще несколько действий, которые мы предпринимаем, такие как «Сохранить как черновик» или «Куратор» Мы подумали, что можем просто...

33
Должен ли HTTP API всегда возвращать тело?

Есть ли какой-то стандарт в отношении ответов HTTP API? Прочитав эту беседу я начал задумываться. Мы разрабатываем наш общедоступный HTTP JSON API на моей работе, и мы ничего не возвращаем, когда это не является строго необходимым (например, PUT для / resource / {id} возвращает только 200, когда OK...

26
Почему мы не можем использовать IP-адрес вместо файлов cookie для идентификации клиента в сервлетах?

Я знаю, что у нас есть некоторые дополнительные преимущества в использовании файлов cookie по IP-адресу, но мой вопрос: почему контейнер не может просто запомнить IP-адрес клиента при идентификации клиента, когда он снова посещает свой сайт? Возможно ли, чтобы контейнер запомнил клиента с помощью...

24
Как веб-серверы применяют политику одного и того же происхождения?

Я углубляюсь в разработку RESTful API и до сих пор работал с несколькими различными средами для достижения этой цели. Конечно, я столкнулся с политикой того же происхождения, и теперь мне интересно, как веб-серверы (а не веб-браузеры) применяют ее. Из того, что я понимаю, кажется, что какое-то...