varsayılan olarak örtülü olarak canlı tutulan bir HTTP/1.1 isteği nedir?

Solved: pasting the bytes here made me realise that I was missing empty lines between chunks...


Bir HTTP/1.1 isteğinin bir Bağlantı: canlı tutma üstbilgisi belirtmesi mi yoksa varsayılan olarak her zaman canlı tutulması mı gerekiyor?

This guide made me think it would; that, when my http server gets a 1.1 request, it is keep-alive unless explicitly receiving a Connection: close header.

ab ve httperf 'in farklı müşteri davranışlarımın beni bu konudaki aklımı merak edecek kadar çıldırttığından beri soruyorum.


İşte httperf --hog --port 42042 --print-yanıt gövdesi şunları gönderir:

GET/HTTP/1.1
User-Agent: httperf/0.9.0
Host: localhost

Ve işte sunucumun cevabı:

HTTP/1.1 200 OK
Connection: keep-alive
Transfer-Encoding: chunked
Content-Length: 18

12
Hello World      1
0

httpref promptly prints out the response, but then just sits there, neither side closing the connection and httpref not exiting.

Benim hatam nerede?

13
yığınlanmış kodlamada içerik uzunluğu çok anlamlı değil
katma yazar nurettin, kaynak
Evet, canlı tutma HTTP/1.1 varsayılanıdır.
katma yazar Benjie, kaynak

1 cevap

RFC 2616, bölüm 8.1.2 'den:

HTTP/1.1 ile HTTP'nin önceki sürümleri arasında önemli bir fark, kalıcı bağlantıların herhangi bir HTTP bağlantısının varsayılan davranışı olmasıdır. Diğer bir deyişle, aksi belirtilmedikçe, istemci, sunucudan gelen hata yanıtlarından sonra bile sunucunun kalıcı bir bağlantıyı sürdüreceğini varsaymalıdır.

19
katma