Я тоже искал ответ на этот вопрос.Что я нашел:
Почему die () или exit ():
Если вы не ставите die () или exit () после вашего header('Location: http://something')
, ваш сценарий может продолжаться, что приведет кнеожиданное поведениеНапример, это может привести к раскрытию контента, который вы на самом деле хотели предотвратить с помощью перенаправления (HTTP 301).Вышеупомянутое может не быть непосредственно видимым для конечного пользователя, поскольку браузер может не отображать его (из-за 301).Заключение: функции exit () и die () останавливают выполнение сценария.
Разница:
Я также хотел узнать разницу между функциями, так как кажется здесь ничего нет.Однако в PHP есть четкое различие в выводе заголовка.В приведенных ниже примерах я решил использовать другой заголовок, но для демонстрации разницы между exit () и die (), которая не имеет значения.
Exit () в действии
<?php
header('HTTP/1.1 304 Not Modified');
exit();
?>
Результаты:
HTTP/1.1 304 Not Modified
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
Die () в действии
<?php
header('HTTP/1.1 304 Not Modified');
die();
?>
Результаты:
HTTP/1.1 304 Not Modified
Connection: close
Разница
Итак, die () закрывает соединение, а exit () нет.От производительности зависит, хотите ли вы сохранить соединение открытым или закрытым.Оба имеют свои преимущества и недостатки и зависят от ваших конкретных требований.
Постоянные соединения HTTP в Wiki