Como a versão HTTP de uma solicitação de navegador e a versão HTTP de uma resposta do servidor são determinadas?

2

Alguém poderia verificar se minhas suposições estão corretas?

Acho que o navegador mais popular (Chrome, Firefox, ...) é uma solicitação de envio padrão com HTTP / 1.1 em cada linha de solicitação.

Eu penso se uma resposta HTTP / 1.1 é dada ou não é determinada pelo servidor Web (por exemplo, uma versão específica do Apache, Nginx, ...) que hospeda o aplicativo da web. Eu assumo que todos os servidores web modernos agora possuem HTTP / 1.1. Se o servidor web não suportar HTTP / 1.1, acho que ele interpretará a solicitação HTTP / 1.1 como se fosse HTTP / 1.0 e forneça uma resposta HTTP / 1.0.

    
por Bentley4 07.11.2013 / 14:43

1 resposta

2

Sim, acredito que você tenha a essência disso com uma exceção:

  1. cada solicitação especifica o nível do protocolo http
  2. o servidor da Web decide o que fazer de forma diferente (se houver alguma) com base em uma solicitação com controle de versão de nível superior / inferior.
  3. O HTTP / 1.1 está bem estabelecido e qualquer servidor decente suportará isso.

A versão correspondente, no entanto, não é tão adaptativa quanto você sugere. se a solicitação do cliente especificar uma versão MAIOR que o servidor não suporta, o servidor responde com

505 HTTP Version Not Supported

no seu caso, 1.1 e 1.0 compartilham uma versão principal, portanto (com algumas exceções) sua suposição está correta, o servidor tentará responder a uma solicitação de nível inferior.

Para mais informações sobre os códigos de resposta http, consulte RFC 2616 seção 10 e seção 3.1

    
por 07.11.2013 / 14:53