If you're seeing this message, it means we're having trouble loading external resources on our website.

Jeżeli jesteś za filtrem sieci web, prosimy, upewnij się, że domeny *.kastatic.org i *.kasandbox.org są odblokowane.

Główna zawartość

Hypertext Transfer Protocol (HTTP)

Za każdym razem, gdy odwiedzasz stronę w sieci, Twój komputer używa protokołu HTTP (ang. Hypertext Transfer Protocol), aby pobrać tę stronę z innego komputera gdzieś w Internecie.
Przejdźmy przez ten proces.

Krok 1: Przekieruj przeglądarkę na adres URL

Kiedy chcemy przeglądać sieć, możemy korzystać z wielu rodzajów komputerów (takich jak laptopy, komputery stacjonarne i telefony), o ile na komputerze jest zainstalowana aplikacja przeglądarki.
Użytkownik albo wpisuje w przeglądarce ujednolicony format adresowania (ang. Uniform Resource Locator w skrócie URL), albo przechodzi przez link z już otwartej strony:
Diagram of browser window with URL in address bar: "http://www.example.com/index.html"
Zwróć uwagę na ten adres URL: zaczyna się on od „http”. Jest to sygnał dla przeglądarki, że musi użyć HTTP do pobrania dokumentu dla tego adresu URL.
🔍 Z jakiej przeglądarki teraz korzystasz? Jaki jest adres URL tej strony internetowej? Od czego się ona zaczyna?

Krok 2: Przeglądarka wyszukuje adres IP

Zazwyczaj wpisujemy do przeglądarek miłe dla oka adresy URL, takie jak "khanacademy.org" czy "wikipedia.org". Te nazwy domen mapowane są na adresy IP, czyli prawdziwą lokalizację komputerów w domenie. Zajmuje się tym system nazw domen.
Przeglądarka używa usługi rozpoznawania nazw DNS do mapowania domeny na adres IP:
Diagram with laptop on left and server on right. Laptop has browser window and arrow going to server that's labeled "www.example.com = ?". Server is labeled "DNS resolver" and has arrow going back to laptop that says "93.184.216.34"

Krok 3: Przeglądarka wysyła żądanie HTTP

Gdy przeglądarka zidentyfikuje adres IP komputera obsługującego żądany adres URL, wysyła żądanie HTTP.
Diagram with laptop on left and server on right. Laptop has browser window and arrow going to server with packet above it that contains HTTP request. Server is labeled with "www.example.com" and its IP address "93.184.216.34".
Żądanie HTTP może być tak krótkie jak dwa wiersze tekstu:
GET /index.html HTTP/1.1
Host: www.example.com
Pierwszym słowem jest czasownik HTTP: "GET". Istnieją inne czasowniki dla innych działań w sieci jak np. przesyłanie danych formularza ("POST").
Następna część określa ścieżkę: "/index.html". Komputer hosta przechowuje zawartość całej strony internetowej, więc przeglądarka musi być konkretna co do tego, którą stronę załadować.
Ostatnia część pierwszej linii określa protokół i wersję protokołu: "HTTP/1.1".
Druga linia określa domenę żądanego adresu URL. Jest to pomocne w przypadku, gdy host komputerowy przechowuje zawartość wielu stron internetowych.

Krok 4: Host odsyła odpowiedź HTTP

Po otrzymaniu żądania HTTP przez komputer hosta, wysyła on odpowiedź zawierającą zarówno treść, jak i metadane na jego temat.
Diagram with laptop on left and server on right. Server is labeled with "www.example.com" and its IP address "93.184.216.34". Arrow goes from server to laptop with packet above it that contains HTTP response.
Odpowiedź HTTP rozpoczyna się podobnie jak w przypadku żądania:
HTTP/1.1 200 OK
Odpowiedź zaczyna się od protokołu i wersji "HTTP/1.1".
Następny numer to bardzo ważny kod statusu HTTP, a w tym przypadku 200. Ten kod reprezentuje udane pobranie dokumentu ("OK").
Jeśli serwerowi nie udało się uzyskać dokumentu, kody statusów dostarczają więcej informacji, np. jeśli awaria była spowodowana błędem użytkownika lub błędem serwera. Na przykład najbardziej znanym kodem statusu jest 404 ("Nie znaleziono pliku"). Dzieje się tak za każdym razem, gdy odwiedzasz ścieżkę na serwerze, która nie odpowiada żadnemu dokumentowi. Ponieważ użytkownicy mają zwyczaj nieprawidłowego wpisywania adresów URL, 404 zdarzają się często, więc strony internetowe często mają zabawne strony 404. Spróbuj wpisać nonsensowny adres URL Khan Academy i zobacz, co się stanie!
Następną częścią odpowiedzi HTTP są nagłówki. Podają one przeglądarce dodatkowe szczegóły i pomagają jej w renderowaniu treści.
Te dwa nagłówki są wspólne dla większości żądań:
Content-Type: text/html; charset=UTF-8
Content-Length: 208
Typ zawartości informuje przeglądarkę, jaki typ dokumentu jest wysyłany z powrotem. Powszechnym typem w sieci jest " text/html", ponieważ wszystkie strony internetowe są plikami tekstowymi HTML. Możliwe są także inne typy, takie jak obrazy ("image/png"), filmy wideo ("video/mpeg"), skrypty ("application/javascript") i wszystko inne, co można załadować do przeglądarki.
Długość treści określa długość dokumentu w bajtach, dzięki czemu przeglądarka wie, ile czasu zajmie pobranie pliku.
Wreszcie odpowiedź HTTP zapisuje żądany dokument. Ta strona jest prostym plikiem HTML:
<!DOCTYPE html>
<html>
  <head>
    <title>Przykładowa domena</title>
  </head>
  <body>
    <h1>Przykładowa domena</h1>
    <p>Ta domena powinna być wykorzystywana jako przykład ilustrujący dokumenty.</p>
  </body>
</html>
Jeśli chcesz zrozumieć, jak działa HTML w sposób bardziej szczegółowy, możesz sprawdzić nasz kompletny kurs HTML/CSS.

Krok 5: Przeglądarka wyświetla odpowiedź

Przeglądarka posiada teraz wszystkie informacje potrzebne do wyświetlenia żądanego dokumentu.
Illustrator of browser with address bar pointing to "http://www.example.com/index.html". The webpage displays heading "Example Domain" and paragraph "This domain is to be used for illustrative examples in documents.".

Przekonaj się sam

Wiele przeglądarek zawiera narzędzia do debugowania, które umożliwiają przeglądanie zapytań HTTP i ich odpowiedzi podczas przeglądania stron internetowych.
Spróbujmy w Chrome.
Po pierwsze, musimy otworzyć narzędzia dla deweloperów. Jednym ze sposobów jest kliknięcie ikony trzech kropek, otwarcie menu "Więcej narzędzi", a następnie wybranie opcji "Narzędzia dla deweloperów". Po otwarciu menu wybierz zakładkę "Network".
Screenshot of Chrome Developer Tools with "Network" tab opened.
Następnie wpisz w pasku przeglądarki adres URL, np. "http://www.example.com/index.html". W konsoli pojawi się żądanie HTTP, a przeglądarka wyświetli stronę.
Screenshot of Chrome Developer Tools with "Network" tab opened. There's a single row for "index.html".
Możemy przyjrzeć się tej prośbie, aby zobaczyć soczyste szczegóły, jeśli chcemy. Kliknij "index.html" pod kolumną "Name". Pojawi się zakładka interfejsu i domyślnie zostanie wyświetlona zakładka "Headers".
Screenshot of Chrome Developer Tools, "Network" tab. Left-side shows "index.html" selected. Right side shows tabbed interface with "Headers" tab opened. Headers tab has sections for "General" and "Response headers".
Nagłówki "Response" zawierają nagłówki omówione powyżej, takie jak "Content-Type" i "Content-Length" oraz wiele innych ciekawych nagłówków.
Rzeczywista zawartość HTML odpowiedzi to kolejna zakładka "Response".
Screenshot of Chrome Developer Tools, "Network" tab. Left-side shows "index.html" selected. Right side shows tabbed interface with "Response" tab opened. Response tab has HTML code.
🔍 Otwórz zakładkę "Network" i przejdź do większej liczby stron internetowych. Ile zapytań HTTP zadaje każda strona? Jakie rodzaje treści znajdują się w odpowiedziach? Co Ciebie najbardziej zaskoczyło?

HTTP i TCP/IP

HTTP jest protokołem zbudowanym na bazie protokołów TCP/IP.
Każde żądanie HTTP znajduje się wewnątrz pakietu IP, a każda odpowiedź HTTP znajduje się wewnątrz innego pakietu IP - lub, co bardziej typowe, wielu pakietów, ponieważ dane odpowiedzi mogą być dość duże.
Diagram with laptop on left and server on right. Laptop has browser window with "http://www.example.com/index.html" in address bar. Server is labeled with "www.example.com" and its IP address "93.184.216.34". 4 arrows are shown:
  • First arrow goes from laptop to server and displays packet with HTTP request inside.
  • Second arrow goes from server to laptop and displays packet with "ACK" inside.
  • Third arrow goes from server to laptop and displays packet with HTTP response inside.
  • Fourth arrow goes from laptop to server and displays packet with "ACK" inside.
Istnieje wiele innych protokołów zbudowanych na bazie protokołu TCP/IP, takich jak protokoły wysyłania poczty elektronicznej (SMTP, POP, IMAP) i przesyłania plików (FTP).
Wszystkie te protokoły umożliwiają nam korzystanie z Internetu w celu łączenia się z innymi komputerami w odpowiedni sposób, a także komunikację i współpracę na duże odległości.

🙋🏽🙋🏻‍♀️🙋🏿‍♂️Czy masz jakieś pytania na ten temat? Chętnie na nie odpowiemy — wystarczy, że zadasz pytanie w poniższym obszarze pytań!

Chcesz dołączyć do dyskusji?

Na razie brak głosów w dyskusji
Rozumiesz angielski? Kliknij tutaj, aby zobaczyć więcej dyskusji na angielskiej wersji strony Khan Academy.