Pergunta

Estou recebendo solicitações de cabeça em minha inscrição e me pergunto a melhor maneira de lidar com eles. As opções são:

  • Converta -os para obter, processos obtidos normalmente, então:
    • retire o corpo (embora não tenha certeza de como - response.content = '' não parece fazer isso.
    • Parece que o App Engine Strips o corpo, dando um aviso "queda do corpo inesperado em resposta à solicitação da cabeça"

Parece que isso é limpo e pode ser escrito bem usando decoradores ou middleware.

  • Lidar com cada solicitação de cabeça especialmente:
    • Isso significa que eu poderia evitar um acesso a armazenamento de dados em alguns casos (muitos?).
    • Aparentemente, existe um risco que o middleware que define o cabeçalho do comprimento do conteúdo será impedido de fazê-lo por essa abordagem.

Algo mais? O que devo fazer? O uso do mecanismo de aplicativo faz a diferença aqui? Existem detalhes sutis; Em caso afirmativo, existe um middleware apropriado para usar? Para converter para obter, é `request.method =" obtenha "o suficiente (parece funcionar)?

Foi útil?

Solução

Você pretendia que o aplicativo lide com solicitações de cabeça ou sejam provenientes de alguma fonte anônima? Você certamente não é obrigado a honrar um pedido de cabeça. Você pode apenas retornar com um código de status de 405 (método não permitido) e fornecer o cabeçalho ALIMENTO com GET ou o que quer que você pretenda manipular.

Eu não acho que isso estabeleça o pedido de solicitação manual. Com toda a probabilidade, você está apenas retornando uma resposta maior que o que o solicitante queria. Eles só queriam ver os cabeçalhos para a resposta. Se você não quiser lidar com a cabeça, faça o 405 e permita a abordagem do cabeçalho.

Geralmente, um cliente envia uma solicitação de cabeça porque está tentando ser inteligente por não lidar com uma resposta completa, se não precisar. Eles estão verificando se o comprimento do conteúdo mudou desde a última vez em que viu a resposta, ou desejam ver o último modificado ou expirar o cabeçalho.

Certamente é bem-comportado para que seu aplicativo lide graciosamente nas solicitações da cabeça, mas você não precisa.

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