REST API GET с конфиденциальными данными
Я разрабатываю API с методом, который должен быть идемпотентом, и не должен изменять какие-либо данные на сервере. Это должен быть метод, который обрабатывает запрос и возвращает ответ для заданных параметров.
Одним из параметров являются конфиденциальные данные. Это не вариант использования дополнительного шифрования. Данные уже зашифрованы, но требования безопасности очень требовательны, и даже зашифрованные данные должны обрабатываться очень осторожно.
Согласно спецификации REST, идемпотентный метод запроса должен быть реализован как метод GET HTTP. Проблема в этом случае - конфиденциальные данные, которые не должны передаваться в качестве параметра GET в URL. Единственным вариантом в стандарте HTTP является передача конфиденциальных данных в части тела HTTP-запроса.
Мой вопрос: что лучше? Сломал остальное api design, и отправил запрос в виде POST или передал зашифрованные данные в URL? Может быть, есть лучшее решение, которого я не вижу?
1 ответ
Согласно спецификации REST, идемпотентный метод запроса должен быть реализован как метод GET HTTP.
Насколько я могу сказать, мой ограниченный английский ДОЛЖЕН!= ДОЛЖЕН. В этом случае вы не нарушите дизайн REST API, отправив POST. Вы можете отправить ваши конфиденциальные данные в заголовке HTTP, если это возможно. И оф. Вы должны использовать HTTPS, если хотите отправить конфиденциальные данные в любое место.