Как можно создать общий вывод для нестандартных ошибок заголовка в PHP?

Как правильно оформить нестандартную ошибку 419 в PHP, и чем отличаются следующие варианты:

1. header('Status: 419 Authentication Timeout');
2. header('HTTP/1.0 419 Authentication Timeout');
3. header('HTTP/1.1 419 Authentication Timeout');
4. header('HTTP/1.0 419 Authentication Timeout', TRUE, 419);

Хотелось бы исключить вариант http_response_code(419), так как он выводит "419 Unknown Status Code", что нежелательно.
  • 8 ноября 2023 г. 23:28
Ответы на вопрос 3
Для создания общего вывода для нестандартных ошибок заголовка в PHP, можно использовать следующий подход:

1. header('Status: 419 Authentication Timeout');
   В этом случае используется устаревший заголовок "Status". Хотя этот вариант может работать в некоторых случаях, он не рекомендуется для использования современными HTTP-серверами.

2. header('HTTP/1.0 419 Authentication Timeout');
3. header('HTTP/1.1 419 Authentication Timeout');
   Оба варианта являются допустимыми и соответствуют современным стандартам. Они позволяют установить статус "419 Authentication Timeout" для HTTP/1.0 и HTTP/1.1 соответственно.

4. header('HTTP/1.0 419 Authentication Timeout', TRUE, 419);
   Этот вариант также устанавливает статус "419 Authentication Timeout" для HTTP/1.0, но третий аргумент указывает на код статуса 419. Это полезно в случае, когда нужно задать нестандартный код статуса, отличный от стандартных кодов.

Таким образом, рекомендуется использовать варианты 2 или 3 для создания нестандартной ошибки 419 в PHP. Они соответствуют современным стандартам и обеспечивают правильное отображение статуса ошибки на клиентской стороне.
header("{$_SERVER['SERVER_PROTOCOL']} 419 Unauthorized"); 
 header("{$_SERVER['SERVER_PROTOCOL']} 419 Неавторизован");
Похожие вопросы