Lip
24
2015

Schemat działania protokołu HTTP

Działania protokułu HTTP można przedstawić na schemacie opartym o sieci Petriego. Te sieci to nic innego jak prosta matematyczna reprezentacja dyskretnych systemów rozproszonych. Aby schemat mógłbyć nazwany  siecią Petriego, taki schemat musi posiadać graf w których to zawarte są tzw. przejścia. Przejścia są potrzebne do opisania stanu układu metod statycznych. Do połączenia przejść stosuje się krawędzie skierowane, które są łączone z „miejscami”. Miejsca to w sieci Petriego okręgi w których umieszcza się żetony prezentowane przez koła. W jednym miejscu może znajdować się dowolna nieujemna liczba żetonów, a żetony w sieci Petriego są nierozróżnialne między sobą.

siec_petriego

Opis:
HTTP działa na poziomie warstwy aplikacji i używa połączenia TCP/IP do zapewnienia sekwencyjnego doręczania wszystkich pakietów. Jak każdy protokół używa on zapytań i odpowiedzi.
Sposób działania:
Część 1:
1. Użytkownik wysyła żądanie informacji do serwera w postaci adresu URL przez przeglądarke, połączenie zostaje nawiązane przez gniazdo TCP/IP.
2. Kolejnym krokiem to zroutowanie połączenia do internetu
3. Połączenie nawiązujemy poprzez wiedzę o porcie, jeżeli numer portu nie jest podany, domyślnie używa się wartości 80.
4. Pakiet zostaje wysłany, a następnie serwer odbiera i akceptuje połączenie.
5. Serwer przetwarza zapytanie i zwraca odpowiedź.
Część 2:
1. Serwer przetworzył zapytanie i zwrócił zapytanie
2. W odpowiedzi z serwera możemy znaleźć informacje takie jak:
-wersję protokołu, kod powrotu oraz tekstowy opis kodu,
3. dzięki odpowiedzi serwera, odbywa się konwersja na typ MIME, wiadomość o typie MIME zawiera przydatne informacje dla przeglądarki użytkownika takie jak: typ wiadomości, nadawca, odbiorca, data, typ żądania itd.
4. serwer zamyka połączenie i co najważniejsze nie przechowuje żadnych informacji pomiędzy transakcjami. Pozwala to znacznie zmniejszyć obciążenie serwera.
5. ostatnimi krokami są m.in. ponowne połączenie protokołem TCP/IP i zwrócenie do użytkownika odpowiedzi z serwera, odpowiednie zrenderowanie tejże odpowiedzi i wyświetlenie w oknie przeglądarki.

 

Autor: Jakub Kądzielawa

Autor wpisu:

Jakub Kądzielawa - młodszy programista PHP, student Informatyki, który łączy pracę ze swoją pasją. Czasami narzeka na brak wolnego czasu.

Zostaw komentarz