Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como pode o HTTP/2 ser stateless e somente o cabeçalho ser stateful?

Esse tópico da aula me causou uma enorme dúvida: Se desde a primeira versão do HTTP ele não guarda o estado das requisições passadas, como eu consigo armazenar informações sobre o cabeçalho (informação que necessita de uma comparação com as requisições passadas ao meu ver) sendo o protocolo stateful e ainda considerar o HTTP/2 como sendo stateless?

Na minha cabeça faz mais sentido que o procotolo HTTP/2 guarda o estado das requisições a partir do momento que ele sabe o "remetente" das requests ao servidor (informação passada nos headers).

Alguém poderia me esclarecer essa dúvida?

Obrigada desde já

2 respostas
solução!

Boa noite, Gabrielly. Tudo bem? Pelo que entendi da explicação e da especificação RFC 7540 (https://tools.ietf.org/html/rfc7540#page-9), o protocolo continua sendo stateless de forma geral. A exceção é o cabeçalho da requisição. As especificações do cabeçalho, são armazenadas pelo browser e pelo servidor de aplicação. Assim, quando houver uma requisição com alguma especificação usada na requisição anterior, o navegador a omite a fim de economizar bytes no tráfego.

Obrigada Mateus.

Então quem realiza a comparação seria o próprio navegador, é ele que verifica o cabeçalho enviado anteriormente e compara para saber se há alguma informação do remetente que já foi enviada anteriormente. Mas como ele sabe disso, quero dizer, como o cliente guarda essa informação? Lembro de uma pergunta similar do Bernardo Costa, mas ainda assim pra mim não foi respondida.

Talvez o navegador tenha que enviar para o servidor alguma informação para dizer "mantenha as especificações enviadas na requisição anterior". Já que o HTTP por si só não faz isso por ser stateless.

Achei que na explicação da aula não se aprofundou nisso, eu acabei não entendendo completamente :-(