Wie Sie bestimmen die Größe der http-Antwort-header?
Ich möchte, um zu bestimmen, die Größe der response-header. Ich nehme an, ich könnte tun, indem man die Größe der response-body aus der kombinierten Größe abgeleitet mit Chrome DevTools.
Vom Chrome DevTools:
Größe ist die kombinierte Größe der Antwort-Header (in der Regel ein paar
hundert bytes) plus dem response-body, wie der Auslieferung durch den server.
Die unkomprimierte Größe einer .js-Datei 375 bytes, gegeben durch die Content
. Die kombinierte size
gegeben durch DevTools 701 bytes.
Darüber hinaus habe ich die folgenden Informationen von Apache access log zur Aufzeichnung der übertragung der gleichen .js-Datei:
%b = 273 bytes (Size of response in bytes, excluding HTTP headers)
%O = 842 bytes (Bytes sent, including headers, cannot be zero)
Sollte ich %0 - %b
, %0 - Content
, Size - %b
oder Size - Content
? Außerdem, kann mir jemand sagen, warum es einen Unterschied gibt zwischen %0
und Size
?
InformationsquelleAutor Question Overflow | 2013-12-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß nicht, was Werkzeug, das Sie brauchen, aber es ist einfach zu zählen, in der shell mit curl-Dienstprogramm, vorausgesetzt, Sie haben folgenden header:
zählen:
Ergebnis: 215 bytes.
für https curl haben die -k-Taste:
root@sup ~# curl -sk -w \%{size_header} -o /dev/null https://dom.net
201Danke, es gibt 261 auf https-jetzt. Aber dennoch, Sie haben nicht beantwortet meine beiden Fragen im letzten Absatz meiner ursprünglichen post.
oh sorry, ich hab dich falsch. So habe es gerade getestet: in der Dev-tools: Größe - zeigt die summ der header+zusammenstzung Inhalt - zeigt die Größe des Inhalts nur, das gleiche könnte gesehen werden via curl:
# curl -s -w \%{size_header}:\%{size_download} -o /dev/null http://dom.com 193:943
Als für die Unterschiede der Größe in der Apache-logs, die - wie es aussieht, fügt zusätzliche Infos zu den header, um zu sehen, dass Sie verwenden solltentcpdump
- Dienstprogramm auf dem server Größe zu erfassen, die request-Pakete und sehen Sie die wahre Größe.Sie können verschiedene Antwort-Header abhängig von der client, also der browser anfordern kann Fähigkeiten (gzip, keep-alives, etc.) Einfluss auf die Header in der Antwort, so kann man nicht davon ausgehen, testen mit browser und curl geben Sie die genaue gleichen Kopfzeilen vom server.
InformationsquelleAutor swserg
Den %O logging im Apache enthält alle SSL-overhead, so dass Sie tatsächlich haben die SSL-bytes + header_bytes + compressed_content in dieser Figur, während Chrome Größe scheint nur header_bytes + compressed_content. Und machen es schwer, Chrome Inhalt wird die Größe der unkomprimierte Inhalte.
Basierend auf Ihren zahlen, die ich sagen auf der Netzwerk Sie haben 261 bytes Header + 273 bytes der komprimierten Inhalt + 308 bytes, die der SSL-bytes, und Chrome von nur erzählen Sie die unkomprimierte Größe der Inhalte macht es unmöglich zu bestimmen, die Größe der Header aus nur die zahlen, erhältlich in Chrom.
261 (header) + 273 (compressed content) = 534
. Aber es ist701
.Sorry, ich habe die Informationen, dass Chrome die Inhalte 701 (zu viele zahlen in zu viele verschiedene Kombinationen an mehreren stellen - ich verlor Sie alle). Ich kann nicht genau erklären, wie Chrome zählt das Zeug, aber aus meiner eigenen Experimente habe ich deutlich sehen können, dass bei der Verwendung von HTTP-Komprimierung in der Größe deutlich kleiner als Inhalt, so kann man nicht einfach subtrahieren dieser beiden Werte oder erhalten Sie eine Fehlermeldung, je nach dem, wie viel der Inhalt komprimiert wurde.
Basierend auf diesen Diskussionen, die wir ausschließen können
%O
(inklusive SSL-Daten) und ChromeContent
(unkomprimiert). Der von der angegebenen Variablen, die ich denke, die nächste Folge sollteSize - %b
, obwohl das Ergebnis (428) in deinem Fall scheint mir ein bisschen groß. Du könntest dies überprüfen, indem Sie kopieren und einfügen der Antwort-header Quelle gesehen, in Chrome DevTools auf eine Datei und sehen Sie, wie groß eine Datei, die Sie erhalten.InformationsquelleAutor krisku