@Nujabes37
:DEATH

Как правильно передать и обработать X-Request-ID?

Здравствуйте! В общем искал на просторах интернета информацию по тому как правильно передавать и обработать requestId на сервере. И к моему удивлению не нашел нормального примера, если тут есть те кто этим занимался, просветите меня в следующих вопросах.
1. Как правильно генерировать и передавать requestId через заголовок на сервер ?
2. Как правильно регистрировать переданный requestId. Имеется ввиду, его надо обрабатывать на PHP и где-то хранить или же это все должен делать сервер ( в моем случае nginx) ?
Если я неправильно понял саму суть requestId, тогда можете и в этом просветить)) Спасибо.
  • Вопрос задан
  • 7085 просмотров
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
Смысл requestId в том, что бы оседлать в различных логах для дальнейшего анализа работы приложения.

Обычно он создаётся как можно раньше, если мы говорим про nginx, то там уже есть (начиная с 1.11.0) переменная $request_id, которую нужно а) писать в лог nginx и б) передавать дальше в PHP (с помощью fastcgi_param). Так же можно отдавать её в http-заголовке клиенту.

Дальше, по хорошему, ваше PHP-приложение во всех своих логах тоже должно сохранять это значение, а так же передавать во все другие сервисы с которыми оно общается (базы данных, другие http-сервера и т.п.).
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Я не занимался, но прочел ответ на стаковерфлое

Генерировать уникально. UUID подойдет.
Передавать наверное через квери стринг - тогда этот ид попадет в лог веб-сервера, на случай, если пхп совсем уж упадет еще до запуска обработчика ошибок. Ну, или если такая точность не особо критична, то просто дополнительным полем в джейсон.
Плюс в обработчике ошибок РНР учитывать это значение и добавлять к сообщению об ошибке, записанному в лог.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект