Нет, все не так...
Некто Безымянный 22.09.2011 14:12
Естьнекий враппер ^Helper:location[]. Он ничего не знает о происходящем. Просто, как только мы ее вызываем, проверяются некоторые условия, а затем присваивается значение заголовку.
"Решение о 404" принимается в процессе работы программы, в разных точках.
Например, нет сущности в базе с таким ID -- ага, значит результатом будет страница 404 и т. п. В конце программы мы смотрим, есть ли у нас флаг говорящий о 404. Если есть -- отдаем $response:status(404).
Вот браузер и не может обработать заголовки status и location если они противоречат друг другу. Поэтому тут речь о приоритете. Если location, то нужно поменять и статус.