Sto configurando un servizio web REST che deve solo rispondere SÌ o NO, il più velocemente possibile.
Progettare un servizio HEAD sembra il modo migliore per farlo, ma vorrei sapere se avrò davvero un po 'di tempo rispetto a una richiesta GET.
Suppongo di ottenere il flusso del corpo per non essere aperto / chiuso sul mio server (circa 1 millisecondo?). Poiché la quantità di byte da restituire è molto bassa, guadagno tempo nel trasporto, nel numero di pacchetti IP?
Grazie in anticipo per la tua risposta!
Modificare:
Per spiegare ulteriormente il contesto:
- Ho una serie di servizi REST che eseguono alcuni processi, se sono in uno stato attivo.
- Ho un altro servizio REST che indica lo stato di tutti questi primi servizi.
Dato che quest'ultimo servizio verrà chiamato molto spesso da un insieme molto ampio di client (una chiamata prevista ogni 5 ms), mi chiedevo se l'utilizzo di un metodo HEAD possa essere un'ottimizzazione preziosa? Vengono restituiti circa 250 caratteri nel corpo della risposta. Il metodo HEAD guadagna almeno il trasporto di questi 250 caratteri, ma qual è questo impatto?
Ho provato a confrontare la differenza tra i due metodi (HEAD vs GET), eseguendo 1000 volte le chiamate, ma non vedo alcun guadagno (<1ms) ...
Content-Length
valore dell'intestazione, che è un'informazione importante in una risposta a una richiesta HEAD. A meno che non esista un altro approccio lato server più ottimizzato, l'unico vantaggio è che la larghezza di banda viene salvata e il client non deve analizzare il corpo della risposta. Quindi fondamentalmente i guadagni di ottimizzazione dipendono dalle implementazioni sia del server che del client.