Pergunta

Em cabeçalhos WSGI estão representados no environ como valores 'HTTP_XXX'. Por exemplo, o cabeçalho valor Cookie: é armazenado na chave HTTP_COOKIE da Environ.?

Como são vários cabeçalhos de solicitação com o mesmo nome de cabeçalho representados?

Foi útil?

Solução

Vários cookies são combinadas em um único cabeçalho, separados por vírgulas.

Vários cabeçalhos são permitidos por o HTTP especificação , mas apenas para determinados tipos de cabeçalhos, e é sempre permitido combinar esses cabeçalhos em um (embora usando vírgulas, nem ponto e vírgula)

Outras dicas

Eu pensei que a resposta para esta pergunta seria trivial, mas depois de cavar um pouco Eu não tenho tanta certeza.

Aqui está o que eu encontrei até agora:

O WSGI PEP-333 ( http://www.python.org/ dev / peps / pep-0333 / ) sugere que as variáveis ??de ambiente deve conter o que a especificação CGI diz.

A especificação CGI (cada vez mais difícil de encontrar, um monte de links quebrados, o melhor que eu poderia encontrar em projecto-coar-cgi-v11-03 ) fala sobre metadados e diz (seção 6.1.5)

". Se vários campos de cabeçalho com o mesmo campo-name são recebidos então o servidor deve reescrevê-los como se que tinha sido recebido como um único campo de cabeçalho que tem a mesma semântica antes de ser representada em um metavariable "

O que sugere para mim que, se você tiver várias linhas de cabeçalho com a mesma chave, você deve se juntar a eles de alguma forma em uma linha.

HTTP_COOKIE, como exemplo, apoia esta concatenando todos os pares chave = valor em uma linha com ponto e vírgula entre eles.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top