protokół http

Spis treści

Http – czym jest taki protokół i jak działa?

Bez protokołu HTTP (bądź jego bezpiecznej wersji, czyli HTTPS), korzystanie z dostępnych w sieci zasobów nie byłoby możliwe. Z pewnością nie w sposób, w jaki odbywa się to obecnie. Dlaczego? Ponieważ przesyłanie danych między przeglądarką użytkownika a serwerem, wymaga implementacji określonych reguł, dotyczących między innymi przetwarzania i udostępniania danych. I tutaj wracamy do tytułowego http. Czym jest ów protokół? 

Czym jest protokół HTTP?

Protokół Http, czyli hypertext transfer protocol, to protokół komunikacyjny umożliwiający przesyłanie danych między serwerem a klientem (klient to zwykle przeglądarka internetowa, z której korzysta użytkownik). Protokół HTTP standaryzuje sposób przekazywania i przetwarzania danych oraz definiuje format odpowiedzi serwera na żądania klienta. Protokoły stanowią konieczny element komunikacji między dwiema stronami, muszą więc być zaimplementowane w przeglądarkach, komunikatorach, aplikacjach pozwalających na wymianę plików.

Główne cechy protokołu http to:

  • Bezstanowość – przesyłane przez protokół dane nie są zapamiętywane, za każdym razem muszą być ponownie przesłane. Bezstanowość zmniejsza obciążenie serwera, wydłuża jednak czas oczekiwania na realizację żądania. Konieczność każdorazowego przesyłania danych zaczęła być nieco problematyczna, zwłaszcza w sytuacjach, w których istotne było zapamiętanie wcześniejszych interakcji lub decyzji użytkownika. Ów problem został w dużym stopniu rozwiązany przez wprowadzenie plików cookies.
  • Brak szyfrowania danych – protokół http, w przeciwieństwie do https, nie szyfruje przesyłanych danych. Dane, które nie podlegają szyfrowaniu, nie są dodatkowo zabezpieczone, co zwiększa ryzyko ich przechwycenia.
  • Port 80. – w przypadku protokołu http domyślnie wykorzystywany jest port sieciowy 80.
  • Adres urladresy url stron internetowych, które korzystają z protokołu http (nie https) zaczynają się od http. Przy adresach nie ma też zamkniętej kłódki.

HTTP Cookies

Jak już wspomniałam, powyżej pliki cookies umożliwiły redukcję problemu z dłuższym oczekiwaniem na załadowanie danych – przy ponownym odwiedzaniu strony. 

Cookies, czyli ciasteczka, a oficjalnie HTTP cookies, to pliki, niewielkie fragmenty tekstu, które przechowywane są przez przeglądarkę na urządzeniu użytkownika. Ciasteczka sprawiają, że na określony czas zapamiętywana jest informacja na temat aktywności użytkownika na danej witrynie. Omawiane pliki wykorzystywane są w różnych celach: 

  • Pliki sprawiają, że serwer zapamiętuje dane między kolejnymi żądaniami HTTP. Pozwala to na zapis ustawień czy personalizację treści. Dzięki plikom zapamiętane są takie ustawienia jak język strony, motyw (jasny lub ciemny) czy układ wyświetlania. W oparciu o zapisane w cookie informacje użytkownik otrzymuje odpowiednie rekomendacje produktów czy spersonalizowane powiadomienia w e-commerce.
  • W przypadku logowania cookies mogą przechowywać token sesji, co pozwala użytkownikowi na pozostanie zalogowanym na stronie internetowej bez potrzeby ponownego uzupełniania danych.
  • Zapamiętanie danych na temat sesji, np. dodania przez użytkownika produktów do koszyka lub listy życzeń. 
  • Pliki cookies umożliwiają także gromadzenie danych analitycznych dotyczących aktywności odbiorców na stronie www lub w sklepie e-commerce. Takie dane są bardzo przydatne w analizie i optymalizacji działań e-marketingowych. 

Żądanie http – jak działa protokół?

Działanie protokołu http skupia się na przesyłaniu żądań i odpowiedzi. Gdy użytkownik wpisze zapytanie w okno wyszukiwania, rozpoczyna się proces przesyłania danych. Wysyłane żądanie składa się z kilku elementów, które umożliwiają określenie oczekiwań klienta, potrzebnych zasobów, sposobu ich przetwarzania i przesyłania. Oto główne składniki żądania HTTP to:

Metody

HTTP, za pomocą różnych metod, określa przeprowadzane przez klienta operacje. Wyróżniamy następujące metody:

  • GET – to żądanie pobierania zasobów, na przykład pobieranie plików strony internetowej,
  • HEAD – pobieranie informacji na temat zasobu, metoda przydatna przy weryfikacji ostatnich zmian czy sprawdzaniu ostatnich zmian czy dostępu zasobów, 
  • PUT – aktualizacja danego zasobu,
  • POST – wysłanie danych,
  • DELETE – to żądanie usunięcia danego zasobu, jest to opcja dostępna wyłącznie dla użytkowników mających odpowiednie uprawnienia,
  • OPTIONS – weryfikacja dostępnych opcji i wymagań danego kanału komunikacyjnego,
  • TRACE – żądanie wykorzystywane podczas testowania połączenia,
  • CONNECT – CONNECT umożliwia utworzenie tunelu TCP przez serwer proxy do docelowego serwera,
  • PATCH – pozwala na aktualizację części danych.

Odpowiedź serwera

Odpowiedź HTTP składa się z kilku elementów, są to:

Kody stanu

Kod stanu to trzycyfrowy kod, który informuje o rezultatach związanych z przetworzeniem danego zadania. Prawidłowym kodem odpowiedzi jest kod 200, który  wskazuje na to, że żądanie klienta zostało pomyślnie przyjęte. Inne kody stanu, które może otrzymać użytkownik to 5xx (oznacza błąd serwera) lub 4xx informujący, że żądany zasób nie istnieje. Przyjrzyjmy się kilku najpopularniejszym kodom odpowiedzi. 

HTTP 500 Errors (Błędy 500)

Błędy HTTP 500 obejmują problemy po stronie serwera, wskazują na wewnętrzne błędy, które uniemożliwiają prawidłowe przetworzenie żądania.  500 to ogólna klasa błędów, przyczyny niepowodzenia mogą to być różne, np. awaria aplikacji na serwerze, przerwa techniczna, problemy z dostępem do bazy danych lub nadmierne obciążenie serwera.
Przykłady błędów 500 to:

  • 500 Internal Server Error
  • 502 Bad Gateway,
  • 503 Service Unavailable
  • 504 Gateway Timeout.

Usunięcie błędów 500 wymaga przeprowadzenia działań administracyjnych na serwerze.

HTTP 400 Errors (Błędy 400)

Błędy HTTP 400 to błędy wywołane przez użytkownika, oznaczające, że serwer otrzymał niewłaściwe lub niepoprawne żądanie. Najczęstszym błędem tego typu jest 400 Bad Request, który wskazuje na dostarczenie błędnych danych.
Inne błędy z tej serii obejmują:

  • 401 Unauthorized (wymagane uwierzytelnienie),
  • 403 Forbidden (brak uprawnień dostępu)
  • 404 Not Found (nie znaleziono zasobu).

W przypadku błędów 400 klient może sprawdzić, czy żądanie zostało sformułowane poprawnie i czy nie zawiera błędów w danych lub adresie URL.

HTTP and 401 (Unauthorized)

HTTP 401 Unauthorized to błąd sygnalizujący, że klient próbował uzyskać dostęp do zasobu, w przypadku którego konieczne było uwierzytelnienie, nie zostały jednak podane prawidłowe dane (np. token lub hasło). Przeglądarka lub aplikacja, po otrzymaniu błędu 401, może ponownie zapytać użytkownika o dane logowania.

Błąd 401 różni się od błędu 403 Forbidden tym, że 401 oznacza brak prawidłowej autoryzacji, natomiast 403 sugeruje, że dostęp do zasobu jest zabroniony mimo uwierzytelnienia.

Nagłówki

Nagłówki  to kolejne informacje dotyczące przetworzonego żądania, są to na przykład czas serwera, aplikacja serwera, ciasteczka itp.

Treść 

To właściwa treść dostarczona przez serwer, czyli docelowy element odpowiedzi HTTP. Może to być plik multimedialny, plik HTML, dokument tekstowy itp. 

Rodzaje protokołu HTTP

Protokół http powstał na początku lat 90., stworzony został przez Tima Bernersa-Lee. Na przestrzeni lat protokół ewoluował, został ulepszony.

  • HTTP 1.0 – to najstarsza wersja http, ów protokół zakładał jedno żądanie i jedną odpowiedź.
  • HTTP/1.1 – wersja protokołu, która wprowadziła nowe funkcje, jak na przykład obsługa persistent connections (keep-alive) czy obsługa wielokrotnych żądań w jednym połączeniu.
  • HTTP/2 – to wersja wprowadzona w 2015 roku. W protokole HTTP pojawiły się różne usprawnienia, na przykład kompresja nagłówków czy wielokrotne strumienie danych.
  • HTTP/3 – to wciąż udoskonalany protokół oparty o QUIC.

 

Kategoria Opis
Pełna nazwa HyperText Transfer Protocol
Typ protokołu Protokół warstwy aplikacji
Funkcja Przesyłanie zasobów między klientem a serwerem
Metody żądania zasobów i komunikacji z serwerem GET, POST, PUT, DELETE, HEAD, OPTIONS
Elementy odpowiedzi serwera Status odpowiedzi, nagłówki odpowiedzi, treść (body)
Przykłady zastosowania Interfejsy API, np. REST API, wewnętrzne portale firmowe
Wersje HTTP/1.0, HTTP/1.1, HTTP/2, HTTP/3

Protokół http: najważniejsze informacje

HTTP a HTTPS – różnice

Oprócz protokołu http, wyróżniamy także protokół https. Czy różnią się wspomniane protokoły?

Protokół HTTPS, czyli Hypertext Transfer Protocol Secure, to rozszerzona, ulepszona wersja protokołu http. HTTPS, podczas przesyłania danych, wykorzystuje szyfrowanie SSL/TLS, czyli Secure Sockets Layer / Transport Layer Security. Szyfrowanie minimalizuje ryzyko przechwycenia i modyfikacji danych przez osoby trzecie.

Strony, które korzystają z protokołu https oraz certyfikatu ssl cieszą się większym zaufaniem użytkownika. Część wyszukiwarek wyświetla strony bez certyfikatu ssl, jako potencjalnie niebezpieczne, co zwykle skutkuje opuszczeniem witryny i zakończeniem sesji. Może to przełożyć się na stratę klientów i realnych zysków.

 

Kryterium HTTP HTTPS
Bezpieczeństwo Bezstanowy, podatny na przechwycenie danych Szyfrowanie danych, które zmniejsza ryzyko przechwycenia
Szyfrowanie Brak szyfrowania, dane przesyłane w postaci jawnej Szyfrowanie TLS/SSL, dane przesyłane w postaci zaszyfrowanej
Port Domyślny port 80 Domyślny port 443
Wydajność Mniejsze obciążenie serwera, brak dodatkowego szyfrowania Minimalnie wolniejsze działanie z uwagi na szyfrowanie
Widoczność w sieci Brak certyfikatu SSL sprawia, że witryna traktowana jest jako potencjalnie niebezpieczna Strony z HTTPS i certyfikatem SSL uznawane są za bezpieczne
Zaufanie użytkowników Niższy poziom zaufania użytkowników Wyższy poziom zaufania użytkowników

http a https

Czy strona korzysta z protokołu http czy https?

Weryfikacja protokołu, z którego korzysta strona www, jest bardzo prosta. Wystarczy spojrzeć na adres url (uniform resource locator). Informacja połączenie jest bezpieczne i ikonka zamkniętej kłódki to znak, że strona www korzysta z protokołu https. Protokół https ma szczególne znaczenie w przypadku witryn, w obrębie których przeprowadzane są transakcje finansowe, a także takich, na których użytkownicy zostawiają wrażliwe dane.

Http i https – czy mają wpływ na pozycjonowanie strony?

Czy opisywane dziś protokoły mają wpływ na widoczność stron www i sklepów e-commerce w wyszukiwarce Google? Google chce wyświetlać użytkownikowi wartościowe i w pełni bezpieczne strony internetowe. Choć sam protokół https nie jest oficjalnym czynnikiem rankingowym, warto zadbać o jego implementację.

Protokół http – kiedy jest wykorzystywany?

Czy w związku z tym, że protokół https jest ulepszoną i zapewniającą większe bezpieczeństwo wersją http, protokół http nadal jest stosowany? Ów protokół jest raczej rzadko zalecany, ale nie oznacza to, że znika z użycia. Jakie ma zastosowanie?

  • RESTful API – protokół http znajduje zastosowanie w tworzeniu ESTful API
  • Http sprawdza się również w zamkniętych sieciach firmowych, do których użytkownicy nie mają dostępu z zewnątrz.
  • W przypadku zasobów publicznych, które nie wymagają szyfrowania danych.

HTTP – co warto?

  • HTTP a pamięć podręczna: Dzięki mechanizmom pamięci podręcznej (cache), przeglądarka może przechowywać kopie zasobów, które znajdują się na stronie www, np. obrazów czy arkuszy stylów. Dzięki temu przy kolejnych odwiedzinach witryna działa szybciej. W nagłówkach odpowiedzi serwera (np. Cache-Control) można określić, jak długo dany zasób ma być przechowywany w pamięci podręcznej. Takie rozwiązanie znacznie redukuje liczbę żądań HTTP i przyspiesza ładowanie stron.
  • Pierwszy dokument w internecie: Pierwszym dostępnym poprzez protokół HTTP dokumentem, była strona www stworzona przez Tima Bernersa-Lee, który opracował protokół HTTP w 1989 roku. Strona ta zawierała podstawowe informacje o World Wide Web oraz korzystaniu z zasobów dostępnych online.
  • Liczba żądań HTTP: Nowoczesne strony internetowe zawierają różnego typu pliki, np. JavaScript, obrazy, czcionki. Oznacza to, że każda strona może wymagać kilkudziesięciu lub nawet setek żądań HTTP do pełnego załadowania – co wpływa na czas ładowania strony i ogólną wydajność.
  • Metoda HEAD w HTTP – W żądaniu HTTP można użyć metody HEAD. Taka opcja pozwala na uzyskanie wyłącznie nagłówków dokumentu – bez jego treści. Jest to przydatne, gdy chcemy tylko sprawdzić stan zasobu lub jego ostatnią modyfikację, nie ma konieczności pobierania całego dokumentu.

HTTP – podsumowanie

Protokół http, czyli hypertext transfer protocol, możemy określić jako zestaw reguł, które umożliwiają komunikację na linii klient (przeglądarka) a serwer. Protokół określa zasady przetwarzania i przesyłania danych. W przeciwieństwie do protokołu https, w przypadku http dane nie są szyfrowane, a to sprawia, że ryzyko przechwycenia ważnych informacji, jak np. numery kart kredytowych, jest większe. Właśnie dlatego, bardziej zalecanym rozwiązaniem jest protokół HTTPS, wykorzystujący szyfrowanie SSL/TLS, czyli Secure Sockets Layer / Transport Layer Security.

 

Ocena strony: 5/5 - (2 głosów)
Karina Zielińska

Piszę, praktycznie o wszystkim. Zawsze robię z sercem i na 100%. Nawet wtedy, gdy temat jest z kosmosu i wymaga godzin researchu. Stawiam na współpracę, w której każdy jest wygrany.

Zapisz się do naszego Newslettera

bądź na bieżąco ze światem
marketingu internetowego!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Picture of Karina Zielińska
Karina Zielińska

Piszę, praktycznie o wszystkim. Zawsze robię z sercem i na 100%. Nawet wtedy, gdy temat jest z kosmosu i wymaga godzin researchu. Stawiam na współpracę, w której każdy jest wygrany.

Podobne publikacje

Chcesz odkryć potencjał
swojej strony?

Reklamy PPC
Strony i sklepy
Social Media
Więcej z kategorii Wiedza