Post HTTP: przesyłanie pliku przed HTTP POST

0

Uwaga: przepraszam, jeśli jest to niewłaściwa witryna dla tego tematu. To pytanie zostało skierowane do Super User z Network Engineering

Podążam wzdłuż UMass Wireshark Labs , w szczególności tej na TCP .

W tym laboratorium zostaniesz poproszony o przesłanie pliku na stronę internetową i obserwowanie ruchu TCP. Ku mojemu zdziwieniu przesyłany plik jest przesyłany w pierwszej kolejności (przez TCP), PRZED wysłaniem POSTżądania. Odniosłem się do mojego przechwytywania z tym, który zapewniają (tcp-ethereal-trace-1) , ale pokazuje to samo.

Rodzi to kilka pytań:

  • Czy przesyłanie plików rzeczywiście następuje przed żądaniem HTTP POST?
  • Jeśli tak, dlaczego?
  • Skąd serwer wie, że może oczekiwać pliku?
  • Jak długo będzie nasłuchiwać i nagrywać plik w oczekiwaniu na żądanie POST?
  • Pytanie 7 w laboratorium wymaga rozważenia HTTP POST jako pierwszego segmentu połączenia TCP. Wydaje się to przeczyć innym ustaleniom. O co chodzi?
Alexander
źródło

Odpowiedzi:

1

Czy przesyłanie plików rzeczywiście następuje przed żądaniem HTTP POST?

Nie, nie ma. Odnosząc się do tcp-ethereal-trace-1 i sposobu jego wyświetlania w wireshark:

  • W ramce 1 .. 3 zrzutu wykonywany jest uzgodnienie TCP.
  • Żądanie POST zaczyna się od ramki 4: w treści ramki widzisz „POST / ethereal-lab ..”.
  • Żądanie POST trwa do ramki 199, która jest ostatnią ramką żądania.
  • Ta ostatnia ramka jest pokazywana w wireshark jako rzeczywisty test POST, ponieważ tylko wtedy gromadzone są wszystkie informacje potrzebne do zrekonstruowania pełnego żądania. Jeśli przyjrzysz się szczegółom, zobaczysz również, że to żądanie zostało złożone z 122 segmentów TCP, tj. Wszystkich pokazanych ramek, które dotarły wcześniej i gdzie pierwsza ramka była początkiem żądania.
Steffen Ullrich
źródło
Och, ładnie, tęskniłem za treścią w ramce 4. Dobre rzeczy!
Alexander