Estou configurando um serviço web REST que só precisa responder SIM ou NÃO, o mais rápido possível.
Projetar um serviço HEAD parece a melhor maneira de fazer isso, mas eu gostaria de saber se realmente irei ganhar algum tempo em vez de fazer uma solicitação GET.
Suponho que ganhei o stream de corpo para não ser aberto / fechado no meu servidor (cerca de 1 milissegundo?). Como a quantidade de bytes a retornar é muito baixa, ganho algum tempo em transporte, em número de pacote IP?
Agradecemos antecipadamente a sua resposta!
Editar:
Para explicar melhor o contexto:
- Eu tenho um conjunto de serviços REST executando alguns processos, se eles estiverem em um estado ativo.
- Eu tenho outro serviço REST indicando o estado de todos esses primeiros serviços.
Uma vez que esse último serviço será chamado com muita frequência por um conjunto muito grande de clientes (uma chamada esperada a cada 5 ms), eu gostaria de saber se usar um método HEAD pode ser uma otimização valiosa. Cerca de 250 caracteres são retornados no corpo da resposta. O método HEAD ganha pelo menos o transporte desses 250 chars, mas que impacto é esse?
Tentei comparar a diferença entre os dois métodos (HEAD vs GET), executando 1000 vezes as chamadas, mas não vi nenhum ganho (<1ms) ...
Content-Length
valor do cabeçalho, que é uma informação importante em uma resposta a uma solicitação HEAD. A menos que haja alguma outra abordagem mais otimizada do lado do servidor, o único benefício é que a largura de banda é salva e o cliente não precisa analisar o corpo da resposta. Então, basicamente, os ganhos de otimização dependem das implementações de servidor e cliente.