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.
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.
- 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.
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