2013-05-03 16 views
23

Specyfikacja HTTP/1.1 umożliwia klientom wysłanie nagłówka Expect: 100-continue dla dużych żądań ładowności (8.2.3 Use of the 100 (Continue) Status - Hypertext Transfer Protocol -- HTTP/1.1 - RFC2616).Które przeglądarki wysyłają oczekiwany nagłówek 100-kontynuacji?

Spowoduje to wstrzymanie żądania po wysłaniu nagłówków i zezwolenie serwerowi na odrzucenie go na podstawie tych nagłówków.

Jeśli te nagłówki nie wskazują nieprawidłowego żądania (na przykład zbyt dużego Content-Length), odpowiada on za pomocą linii statusu 100 Continue, co pozwala klientowi kontynuować. W tym momencie klient przesyła treść żądania.

Które przeglądarki faktycznie obsługują to i pod jakimi warunkami wysyłają oczekiwany nagłówek?

+0

Proszę wyjaśnić, dlaczego chcesz wiedzieć, jakie przeglądarki realizują to zachowanie. Jeśli chcesz przetestować różne rzeczy, są inne narzędzia niż przeglądarki. – CodeCaster

+5

@CodeCaster Możliwość polegania na nim do wstępnego sprawdzania ogromnych ładunków byłaby miła. Ale jestem po prostu ciekawy. – igorw

+0

Chciałbym również wiedzieć. Nasze oprogramowanie testujące obciążenie (MS Visual Studio) wysyła nagłówek "Expect: 100-continue" i wydaje się powodować problemy z naszym systemem równoważenia obciążenia. Kiedy wyłączę go przy użyciu tego nagłówka, działa dobrze. Jeśli żadna przeglądarka nie wysyła nagłówka "Oczekuj: 100-kontynuuj", to nie widzę powodu, aby martwić się o problemy, które nasz system równoważenia obciążenia ma z nagłówkiem 100-kontynuacji, i nadal może wyłączać nasze testy obciążeniowe po wysłaniu tego nagłówka. – Makotosan

Odpowiedz

4

Wiem, że curl robi to dla na każde żądanie pocztowe. Właśnie to przebiegł jakiś czas temu.

Testowałem również to w połączeniu z PHP w "How can I stop cURL from using 100 Continue?".

+0

Co z przeglądarkami komputerowymi? Czy istnieje sposób na obsługę numeru 100 Kontynuuj za pomocą zwykłego żądania POST? Jeśli tak, w jakich przeglądarkach? –

+1

Z technicznego punktu widzenia każdy klient HTTP/1.1 może z tego skorzystać. W świecie komputerów stacjonarnych, którymi mogą być na przykład klienci WebDAV, żądania AJAX z poziomu przeglądarek, żądania wynikające z wtyczek przeglądarki. Wiem, że pytasz o przeglądarkę WWW, ale zakładam, że pytasz z perspektywy serwera i jeśli nie chcesz obsługiwać HTTP/1.1, nie musisz pytać *, którą * Browser - jest częścią specyfikacji. Wspomóż go lub powiedz klientowi, że wersja HTTP/1.1 nie jest obsługiwana: [10.5.4 503 Service Unavailable] (http://tools.ietf.org/html/rfc2616#section-10.1.2). – hakre

+0

*** Poprawka: *** Łącze w moim komentarzu było błędne. To był błąd kopiowania/wklejania, który zauważyłem zbyt późno. Link, który pierwotnie chciałem umieścić, również był błędny. Bardziej poprawna odpowiedź może być [10.4.18 417 Oczekiwana na oczekiwanie] (http://tools.ietf.org/html/rfc2616#section-10.4.18) jeśli masz prośbę z oczekiwaniem i nie chcesz sobie z tym poradzić to na twojej implementacji usług. Wiem, że to nadal nie odpowiada na pytanie, które przeglądarki WWW na wolności wykonują samodzielnie takie żądania. – hakre

Powiązane problemy