Czy nagłówek odpowiedzi HTTP (taki jak ten poniżej) jest legalny, nawet jeśli nie zawiera długości treści ani kodowania transferu?Nagłówki odpowiedzi HTTP są poprawne bez przesyłania-kodowania i długości treści?
- Http: Response, HTTP/1.1, Status: Ok, URL: /AAA/B.json
ProtocolVersion: HTTP/1.1
StatusCode: 200, Ok
Reason: OK
Expires: Fri, 05 Oct 2012 01:41:30 GMT
Date: Fri, 05 Oct 2012 01:40:46 GMT
Vary: Accept-Encoding
Accept-Ranges: bytes
Cache-Control: public, max-age=43
Server: Noelios-Restlet-Engine/1.1.10
ContentType: application/json;charset=UTF-8
ContentEncoding: gzip
Connection: close
X-Served-By: 85.111
HeaderEnd: CRLF
Spodziewałem się zobaczyć Content-Length lub Transfer-Encoding, ale żaden z nich nie istnieje.
Przeczytałem HTTP-RFC, ale nadal nie jestem pewien.
@CodeCaster, czytałem rozdział RFC 4.4, ale nadal nie jestem jasne, jak widać, nagłówek odpowiedzi jest używany do powrotu strumienia json, więc:
- sekcja 4.4 Zasada 1 definiuje NIE MOŻE zawierać ciała wiadomości, nie wydaje się, aby dotyczyło mojego przypadku.
- sekcja 4.4, zasada 4, nie jestem tego pewien, ale ponieważ w nagłówku odpowiedzi nie widzę "wieloczęści/byterów" - czy to oznacza, że ta reguła nie dotyczy mnie?
- sekcja 4.4, zasada 5, jest to dla mnie niezrozumiałe, ponieważ nagłówek rzeczywiście zawiera "Połączenie: zamknij", czy jest powiązany?
Jakie są dalsze komentarze?
Czytałem sekcja RFC 4.4, ale nadal nie jest jasne, jak widzisz, nagłówek odpowiedzi jest używany do zwrócenia strumienia json, więc: - sekcja 4.4, reguła 1 definiuje NIE POWINIEN włączać treści wiadomości, nie wydaje się dotyczyć mojej sprawy. - sekcja 4.4, zasada 4, nie jestem tego pewien, ale ponieważ w nagłówku odpowiedzi nie widzę "wieloczęści/byterów" - czy to oznacza, że ta reguła nie dotyczy mnie? - sekcja 4.4, zasada 5, jest to dla mnie niezrozumiałe, ponieważ nagłówek zawiera "Połączenie: zamknij", czy jest powiązany? Co dalej? dzięki! – user1721757
@ user1721757 rule 1 ma zastosowanie tylko do wspomnianych kodów statusu. Otrzymasz 200 i istnieje nagłówek 'Connection: close', więc twój klient powinien czytać dalej, dopóki serwer nie zamknie połączenia. – CodeCaster