Czym jest protokół HTTP

Protokół HTTP – wszystko, co musisz o nim wiedzieć

Zastanawiałeś się, jak działają strony internetowe? Jak to możliwe, że tak sprawnie możemy pobierać zawartość stron czy logować się do znanych serwisów? Tak łatwa komunikacja między serwerem a przeglądarką nie bierze się znikąd. To wszystko to zasługa właśnie protokołu HTTP. Zobacz, co jeszcze potrafi zdziałać ten nagłówek.

Na zdjęciu widzimy uśmiechniętego mężczyznę w białej koszuli, który stoi na zewnątrz.  Jego jasne, krótkie włosy są starannie zaczesane do tyłu, a ręce swobodnie skrzyżowane na piersi, co podkreśla pewność siebie i swobodę. W tle rozpościera się spokojny krajobraz portowy – widać zacumowane łodzie lub jachty oraz zabudowania charakterystyczne dla nadmorskiej okolicy.

Czym jest protokół HTTP?

Protokół HTTP (Hypertext Transfer Protocol) jest protokołem, który umożliwia komunikację przeglądarki internetowej z serwerem. To waśnie dzięki niemu istnieje możliwość przesyłania niezliczonej ilości danych w internecie, począwszy od plików, a skończywszy na stronach internetowych.

Protokół HTTP jest elementem warstwy aplikacji. Jest to mechanizm przesyłu, działający na nieskomplikowany modelu klient – serwer, który w prosty sposób odbiera żądania. Jednak mimo to otworzył przed nami ogromne możliwości. Poprzez działanie za pomocą protokołu HTTP w internecie codziennie odbierane są żądania i odpowiedzi, które umożliwiają sprawne działanie wielu aplikacji i systemów.

Jak działa protokół HTTP

Przyjrzyjmy się bliżej działaniu protokołu HTTP.

  1. Cały proces rozpoczyna się ono od przesłania przez klienta (przeglądarkę internetową), która wysyła żądanie http do serwera. Istnieje kilka rodzajów żądania, które określają, jaka czynność ma zostać wykonana:
  • GET – pobieranie danych,
  • POST – przesyłanie danych,
  • PUT – aktualizacja,
  • DELETE – usuwanie danych,
  • OPTIONS – informacje o zasobach,
  • TRACE – debugowanie ścieżki,
  • PATCH – częściowa aktualizacja.

2. Następnym elementem jest adres URL, na jaki żądanie ma zostać wysłane. Może być to adres strony internetowej, serwera, czy też pliku, do którego żądanie ma zostać przesłane.

3. Ostatnim elementem niezbędnym do sprawnej komunikacji są nagłówki. Określa się w nich np. dane dotyczące uwierzytelnienia, języka czy inne informacje, które są istotne podczas przesyłania danych. 

Jeśli występują wszystkie wymagane elementy, żądanie zostaje wysłane do serwera. Serwer daje odpowiedź, używając HTTP. Treść odpowiedzi także zawiera nagłówki z niezbędnymi informacjami. Odpowiedzi mają postać kodów, np.:

  • 101 – akceptacja na zmianę protokołu,
  • 200 – oznacza zgodę na wyświetlenie danych,
  • 404 – błąd zasobów,
  • 500 – błąd serwera.

Rodzaj kodu możemy rozpoznać po konkretnym numerze, a dokładnie po jego początku:

  • 1xx – są to kody informacyjne,
  • 2XX – informują o powodzeniu żądania,
  • 3XX – przekierowanie,
  • 4XX – błąd ze strony klienta,
  • 5XX – błąd ze strony serwera.

Adres w HTTP

Adres URL, który widzimy na pasku przeglądarki, zawiera w sobie określone parametry. Spotkamy się z nimi, zarówno podczas wysyłania żądania, jak i przysyłania odpowiedzi przez serwer. Są to nazwy z języka angielskiego:

  • scheme – czyli protokół np. HTTP/HTTPS.
  • password – hasło uwierzytelniające.
  • user – użytkownik. Nazwa użytkownika, która jest przesyłana do uwierzytelnienia.
  • /path – ścieżka (zasoby).
  • host – czyli serwer. Dokładnie nazwa domeny lub adresu IP.
  • #fragment – przekierowuje do  miejsca na stronie, które odpowiada do zapytania.
  • ?query – w praktyce oznacza parametr klucz – wartość. Opisuje zapytanie w stosunku do konkretnego zasobu.
Na grafice widzimy uśmiechniętego mężczyznę w białej koszuli z długim rękawem, stojącego na tle podzielonym pionowo na dwie części. Po prawej stronie, na intensywnie niebieskim tle, znajduje się jego wizerunek – blondyn o krótkich włosach, patrzący wprost w obiektyw. Na lewym nadgarstku nosi elegancki zegarek, a jego uśmiech i postawa budzą zaufanie.

Lewą część grafiki wypełnia białe tło z tekstem. U góry widnieje napis „Freelancer SEO”, poniżej – wyróżniony większą czcionką – napis „Pozycjonowanie stron internetowych”, a na dole, również wyraźną czcionką, imię i nazwisko: „Bartłomiej Lewicki”. Całość tworzy spójny, profesjonalny wizerunek eksperta SEO.

Przykładowe nagłówki w HTTP

Nagłówek jest jednym z wymaganych elementów żądania w HTTP. Jak wygląda nagłówek. Poniżej przedstawiam kilka przykładów:

Content-Range: bytes 123-456/5000

Daje informacje o zakresie przesłanego pliku. Stosowany razem z kodem odpowiedzi 206.


Content-Type:
application/xhtml+xml; charset=utf-8

Informuje przeglądarkę o formacie i stronie kodowej przesyłanego dokumentu.

Date: Tue, 15 Nov 1994 08:12:31 GMTI

Data na serwerze.

Location: http://serwer/

To przekierowanie na inny adres.

Server: Apache/2.0.50

Identyfikuje serwer i rodzaj oprogramowania.

Transfer-Encoding: chunked

To informacja, jakim sposobem serwer przesłał dokument.

chunked – zawartość przesłana w kawałkach.

Cookie: ciastko1=wartosc1; ciastko2=wartosc2

To przykład nagłówka niestandardowego. Oznacza, że w nagłówku przesłane zostały ciasteczka.

HTTP a bezpieczeństwo 

Jeśli chodzi o bezpieczeństwo, to HTTP jest podstawową wersją protokołu tekstowego. Oznacza to, że protokół nie ma żadnego zabezpieczenie. Dane są przesyłane jako tekst otwarty i nie są w żaden sposób szyfrowane. Przesyłane poufnych lub wrażliwych informacji oparte na protokole HTTP nie jest bezpieczne.

Istnieje rozszerzona wersja HTTP i. jest to protokół HTTPS. Aby zapewnić bezpieczeństwo, ten rodzaj protokołu stosuje SSL (Secure Socket Layer) / teraz TSL (Transport Layer Security). Zapewnia to ochronę  poprzez szyfrowanie przesyłanych pomiędzy klientem a serwerem danych. Wszystkie informacje są przesyłane tylko poprzez zaufany serwer. Zapewnia to ochronę wrażliwych informacji o użytkowniku, przed przechwyceniem lub modyfikacją. 

Korzystanie z protokołu HTTPS widoczne jest w oknie przeglądarki w postaci zamkniętej kłódki. Wyszukiwarka Google zaleca korzystanie z sieci www. tylko i wyłącznie z protokołu z systemem SSL.

Cy protokół HTTP ma wpływ na SEO?

Wdrożenie protokołu HTTP nie jest obowiązkowe. Jednak Google promuje bezpieczne rozwiązania. Dlatego zalecane jest stosowanie protokołu HTTP z SSL/TSL, czyli HTTPS.

Jednak sam HTTP nie jest mocnym czynnikiem rankingowym, a więc nie wpływa na SEO tak, jak np. słowa kluczowe czy off-site SEO. Jednak ma znaczenie pod innym względem.

Protokół HTTPS, czyli wersja protokołu HTTP z zabezpieczeniem SSL obecnie jest bardzo istotny dla użytkowników. Witryna nie będzie chętnie odwiedzana, jeśli nie ma gwarancji bezpieczeństwa. Odbiorca chce mieć pewność, że ochrona witryny działa na najwyższym poziomie. To z kolei najistotniejszą sprawa dla właściciela strony. Brak zasięgów = słabe SEO witryny. Czyli pośrednio protokół HTTP ma związek z pozycjonowaniem.

Podsumowanie

HTTP jest protokołem, który zapewnia połączenie przeglądarki z serwerem, a więc wszystkie strony www są oparte protokole HTTP. Jest on podstawowym narzędziem do przesyłania danych w internecie. Podstawy programowania, przedstawione w artykule, to wiedza o HTTP w pigułce. Informacje, które warto mieć. Protokół HTTP definiuje działanie sieci web – czyli komunikacji między klientem a serwerem. To dodatkowe informacje, które jasno obrazują, co się dzieje, gdy wpisujemy adres w przeglądarkę. Myślę, że zaspokoiły ciekawość i rozjaśniły ten system, który w gruncie rzeczy nie jest skomplikowany. Dodatkowo wiedza o zabezpieczeniu SSL pokazuje, co znaczy bezpieczeństwo w sieci i dlaczego każdy powinien wdrożyć ten system na swoją stronę.  

Źródła:

Nagłówki http: https://pl.wikipedia.org/wiki/Lista_nag%C5%82%C3%B3wk%C3%B3w_HTTP