101 Switching Protocols: Código de Status HTTP que Indica Mudança de Protocolo

スポンサーリンク
スポンサーリンク

Sobre o 101 Switching Protocols

Visão geral do 101 Switching Protocols

Indicar a troca de protocoloCódigo de status HTTP

101 Switching Protocols

Visão geral O 101 Switching Protocols é um código de status HTTP que informa ao cliente que o servidor está trocando de protocolo de comunicação conforme solicitado. Este código é retornado quando o cliente utiliza o cabeçalho Upgrade para solicitar a troca para um novo protocolo e o servidor aprova.

Significado O servidor aceitou a solicitação e trocou para o protocolo especificado.

Quando o 101 Switching Protocols é retornado?

  • Quando o cliente envia uma solicitação com o cabeçalho Upgrade
  • Quando o servidor suporta e aprova a troca de protocolo
  • Quando ocorre a troca de HTTP para outro protocolo, como WebSocket ou HTTP/2

Exemplos de 101 Switching Protocols

Troca de HTTP para WebSocket

GET /chat HTTP/1.1  
Host: example.com  
Upgrade: websocket  
Connection: Upgrade  

Exemplo de resposta:

HTTP/1.1 101 Switching Protocols  
Upgrade: websocket  
Connection: Upgrade  

Explicação: Quando o cliente solicita a troca para WebSocket utilizando o cabeçalho Upgrade, e o servidor aprova a solicitação, o código de status 101 é retornado. Após isso, a comunicação continua utilizando o protocolo WebSocket.

Troca de HTTP para HTTP/2

GET / HTTP/1.1  
Host: example.com  
Upgrade: h2c  
Connection: Upgrade  

Exemplo de resposta:

HTTP/1.1 101 Switching Protocols  
Upgrade: h2c  
Connection: Upgrade  

Explicação: Quando o cliente solicita a troca de HTTP/1.1 para HTTP/2, o servidor retorna 101 caso aprove a troca. Essa troca é válida apenas se tanto o cliente quanto o servidor suportarem o protocolo.

Pontos importantes

Considerações ao retornar o 101 Switching Protocols:

  • Avalie cuidadosamente as solicitações do cliente
    Certifique-se de que o servidor suporta a troca de protocolo solicitada pelo cliente.
  • Considere os riscos de segurança
    Trocar protocolos, especialmente para WebSocket, pode implicar riscos potenciais de segurança e deve ser configurado com cuidado.

Comparação com códigos de status HTTP relacionados

Descrição de códigos de status relacionados ao 101 Switching Protocols:

  • 200 OK: Usado quando a solicitação é processada com sucesso sem alterar o protocolo de comunicação.
  • 426 Upgrade Required: Retornado quando o cliente precisa atualizar para um protocolo suportado pelo servidor para concluir a solicitação.

Compreender essas diferenças ajuda a garantir o uso adequado do código de status 101.