powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / True REST and OPTION
6 сообщений из 6, страница 1 из 1
True REST and OPTION
    #38068444
wertlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет.
Мы тут пытаемся сделать небольшой веб-сервис, и с прототипа, который работает целиком на GET запросах, очень хочется двинуть в сторону настоящего REST. Дабы не углубляться в тему, что есть настоящий труЪ REST, я опишу то, что мы называем этим странным словосочетанием в виде примера.

Допустим, у нас есть такой набор методов:

POST /users - создает нового пользователя, возвращает id новичка.
GET /users - возвращает всех пользователей в системе
PUT /users/:id - обновление пользователя с id = :id
DELETE /users/:id - удаление пользователя.

И все бы казалось хорошо, до тех пор пока мы не добрались до его величества браузера, аякса и кроссдоменных запросов. Дело в том, что каждый PUT и DELETE из браузера предвосхищается т.н. preflight запросом c глаголом OPTION. Этот самый запрос должен вернуть пачку заголовков, в духе: "да, так и быть вам можно совершить этот PUT запрос."

И собственно вот какие вопросы меня беспокоят:
1) Какого черта? Зачем нужен этот OPTION?
2) Можно ли этого как-то избежать?
3) А как поступают корифеи REST? Идея использовать PUT, GET, POST, DELETE запросы выглядит очень многообещающей.

Разумеется, перед тем как задать вопросы, я героически погуглил, и нашел вот что в MDN. Если коротко, то там сказано, что OPTION запрос посылается при аяксовом запросе если он PUT или DELETE, а также в любом случае, если были модифицированы заголовки. Собственно это и было подтверждено практикой. Теперь вопрос: как с этим жить дальше?
...
Рейтинг: 0 / 0
True REST and OPTION
    #38068475
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
True REST and OPTION
    #38068486
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
True REST and OPTION
    #38069106
Фотография iConst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wertlex...
3) А как поступают корифеи REST? Идея использовать PUT, GET, POST, DELETE запросы выглядит очень многообещающей.
...DELETE PUT и пользуют что осталось :).
Серьезно - как-то в практике надобности не ощущалось. Из кроссплатформенных заморок - часто тот необходимый объем, что нужно отправить не сервер, помещается в ГЕТ-хвост. Еще есть извращения, когда данные режут кусочками и ГЕТят как из пулемета :).
...
Рейтинг: 0 / 0
True REST and OPTION
    #38069270
wertlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iConst,

А как насчет модификации заголовков? Кажется удобным завернуть аутентификацию через HTTP заголовки. При этом снова выплывает метод OPTION, даже при POST и GET.
...
Рейтинг: 0 / 0
True REST and OPTION
    #38069347
Фотография iConst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wertlexiConst,

А как насчет модификации заголовков? Кажется удобным завернуть аутентификацию через HTTP заголовки. При этом снова выплывает метод OPTION, даже при POST и GET.Да, при работе с некоторыми сервисами такое делали. Но не помню к-либо проблем. По хттпс отправляем аут.параметры в заголовке, сервис жует и дает/не дает...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / True REST and OPTION
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]