10. Protokoły warstwy aplikacji

10.1. Protokół HTTP

Kiedy uruchamiamy przeglądarkę internetową, komunikator lub program do udostępniania plików, aplikacje te tworzą interfejs komunikacyjny między siecią komputerową a użytkownikiem. Oczywiście sam program użytkowy, sam program komputerowy, nie wystarcza do sprawnej komunikacji, ponieważ wymagane są do tego powyższe protokoły komunikacyjne, ale są one w tych programach zaimplementowane. Przykładowy protokół warstwy aplikacji, prawdopodobnie jeden z najpopularniejszych, HTTP, jest zaimplementowany w przeglądarkach internetowych i podobnie jak wszystkie komunikatory i inne programy komunikujące się za pomocą sieci, również implementują odpowiedni protokół.

Gdy wprowadzimy w przeglądarce adres strony internetowej tzw. URL (Uniform Resource Locator), a po naciśnięciu klawisza Enter nasza przeglądarka połączy się z serwerem, na którym przechowywana jest strona i zażąda od niej określonego zasobu – Większość z nich to zazwyczaj pliki zawierające strony z treścią. Jeśli serwer posiada żądany zasób, wysyła jego zawartość do przeglądarki, która interpretuje kod HTML, z którego składa się strona, i wyświetla jej zawartość użytkownikowi. W rzeczywistości proces jest nieco skomplikowany. Jako przykład weźmy adres internetowy:

https://trektrycy.pl/?p1

Po wprowadzeniu i potwierdzeniu przeglądarka najpierw sprawdza typ protokołu, następnie nazwę domeny internetowej, a na końcu rozważa nazwę konkretnego pliku. Później nasza przeglądarka odwołuje się do serwera DNS w celu zmiany nazwy mnemonicznej (tj. trektrycy.pl) na adres IP serwera, na którym przechowywana jest strona.

Przeglądarka znając ten adres wysyła do serwera żądanie dostępu do pliku p=1 znajdującego się w domenie trektrycy.pl. Jeśli serwer ma w odpowiedzi dany zasób, wysyła odpowiednią wiadomość wraz z zawartością żądanego pliku. Zawartość tego pliku, kod HTML, jest interpretowana przez przeglądarkę i wyświetlana jako strona internetowa.

Protokół HTTP domyślnie pracuje na porcie 80 i definiuje kilka podstawowych typów komunikatów, czyli żądanie komunikacji między klientem a serwerem WWW, z których najważniejsze to: GET i POST.