Ich richte einen REST-Webdienst ein, der nur so schnell wie möglich mit JA oder NEIN antworten muss.
Das Entwerfen eines HEAD-Dienstes scheint der beste Weg zu sein, aber ich würde gerne wissen, ob ich wirklich etwas Zeit gewinnen werde, anstatt eine GET-Anfrage zu stellen.
Ich nehme an, dass der Body-Stream auf meinem Server nicht geöffnet / geschlossen wird (ca. 1 Millisekunde?). Kann ich beim Transport jederzeit die IP-Paketnummer gewinnen, da die Anzahl der zurückzugebenden Bytes sehr gering ist?
Vielen Dank im Voraus für Ihre Antwort!
Bearbeiten:
Um den Kontext weiter zu erklären:
- Ich habe eine Reihe von REST-Services, die einige Prozesse ausführen, wenn sie sich in einem aktiven Zustand befinden.
- Ich habe einen anderen REST-Service, der den Status all dieser ersten Services angibt.
Da dieser letzte Dienst sehr oft von einer sehr großen Anzahl von Clients aufgerufen wird (ein Anruf wird alle 5 ms erwartet), habe ich mich gefragt, ob die Verwendung einer HEAD-Methode eine wertvolle Optimierung sein kann. Im Antworttext werden ca. 250 Zeichen zurückgegeben. Die HEAD-Methode erhält mindestens den Transport dieser 250 Zeichen, aber wie wirkt sich das aus?
Ich habe versucht, den Unterschied zwischen den beiden Methoden (HEAD vs GET) zu messen, indem ich das 1000-fache der Aufrufe ausgeführt habe, aber überhaupt keinen Gewinn gesehen (<1 ms) ...
Content-Length
Header-Werts kennen muss. Dies ist eine wichtige Information in einer Antwort auf eine HEAD-Anforderung. Sofern es keinen anderen optimierten serverseitigen Ansatz gibt, besteht der einzige Vorteil darin, dass Bandbreite gespart wird und der Client den Antworttext nicht analysieren muss. Grundsätzlich hängen die Optimierungsgewinne sowohl von der Server- als auch von der Client-Implementierung ab.