O uso do cabeçalho Location na resposta HTTP 202 é compatível com RFC?

Eu tenho uma ótima discussão conceitual com meus colegas de trabalho sobre o uso do cabeçalho Localização na resposta aceita.

A história começou a analisar o comportamento da função PHP header () deaqui. O excerto interessante:

O segundo caso especial é o cabeçalho "Local:". Ele não apenas envia esse cabeçalho de volta ao navegador, mas também retorna um código de status REDIRECT (302) para o navegador, a menos que o código de status 201 ou 3xx já tenha sido definido.

Eles não incluíram o código de status 202 nesse comportamento padrão. Parece que eles não esperam que a resposta 202 tenha um local e, de fato:

header("HTTP/1.1 202");
header("Location: http://example.com");

redirecione o cliente para o URL do local. Obviamente, é possível alterar esse comportamento com o terceiro parâmetro da função header (), mas o que chamou minha atenção foi: Por que eles entenderam que, por padrão, não se espera que 202 mantenha um cabeçalho Location?

Então eu reviso oRFC procurando o significado oficial do status 202. O excerto interessante:

A entidade retornada com esta resposta DEVE incluir uma indicação do status atual da solicitação e um ponteiro para um monitor de status ou alguma estimativa de quando o usuário pode esperar que a solicitação seja atendida.

Ele não se refere explicitamente ao cabeçalho do local, como a resposta anterior (no mesmo documento RFC) 201 faz. Essa provavelmente seria a razão pela qual os caras do PHP entenderam que a resposta 202 não deveria conter o cabeçalho Location. Um ponteiro seria interpretado como cabeçalho de local ou os caras do PHP fizeram uma suposição errada? Se o padrão permitir cabeçalho de localização com resposta 202: a documentação oficial não deveria ser mais explícita como a definição de resposta 201?

Por fim, revi as maisrecentemente RFC versão e encontre uma pequena alteração na redação:

A representação enviada com esta resposta deve descrever o status atual da solicitação eapontar para (ou incorporar) um monitor de status que fornece ao usuário uma estimativa de quando a solicitação será atendida.

Novamente, não é explícito o suficiente para assumir queaponta para significa cabeçalho de localização.

Em resumo, após as revisões acima: Estou sendo compatível com RFC usando o cabeçalho Location com 202 respostas?

questionAnswers(4)

yourAnswerToTheQuestion