Использование дополнительных HTTP-команд при наличии ограничений для клиента
В некоторых случаях приложениям не удается совершать HTTP-запросы с помощью команд, отличных от GET и POST. Например, некоторые прокси-серверы, брандмауэры и другие компоненты могут быть настроены их операторами на блокирование определенных HTTP-команд. Кроме того, некоторые среды приложений могут не поддерживать другие команды. Для этих случаев API OneDrive предоставляет альтернативный способ указания HTTP-команды при необходимости.
Вы можете туннелировать любой HTTP-запрос через запрос POST, отправив запрос POST и добавив заголовок X-HTTP-Method-Override
, в котором указан нужный метод.
Это сообщает серверу, что запрос следует обрабатывать не как запрос POST, а как команду, указанную в качестве значения заголовка.
Этот заголовок действителен только для запросов POST. Он будет игнорироваться для других методов HTTP.
Например, если брандмауэр блокирует команду DELETE, то приложение может туннелировать команду в API, позволяя приложению удалить файл.
POST /drive/items/{item-id} HTTP/1.1
Host: api.onedrive.com
X-HTTP-Method-Override: DELETE
Этот запрос удалит указанный ресурс. Ответ службы будет таким же, как и для метода HTTP с командой DELETE.