Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok I, semestr II



Podobne dokumenty
Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Technologie internetowe

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Wybrane działy Informatyki Stosowanej

Protokół HTTP 1.1 *) Wprowadzenie. Jarek Durak. rfc2616 źródło

Programowanie w Internecie

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

XML-RPC: Zdalne wykonywanie procedur

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

Stos TCP/IP. Warstwa aplikacji cz.2

Adres IP

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Sieci komputerowe i bazy danych

PROTOKOŁY OBSŁUGI POCZTY ELEKTRONICZNEJ

Aplikacje WWW. Wykład 4. Protokół HTTP. wykład prowadzi: Maciej Zakrzewicz. Protokół HTTP

Laboratorium nr 4 - Badanie protokołów WWW

Języki programowania wysokiego poziomu WWW

Aplikacje WWW Wprowadzenie

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

Programowanie Sieciowe 2 Protokoły komunikacyjne: HTTP

Sieci komputerowe. Wstęp

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Sieci komputerowe. Wykład 7: Warstwa zastosowań: DNS, FTP, HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

1. Model klient-serwer

Programowanie współbieżne i rozproszone


systemów intra- i internetowych Platformy softwarowe dla rozwoju Architektura Internetu (2) Plan prezentacji: Architektura Internetu (1)

Ataki na aplikacje WWW. Łomem, czy wytrychem? Jak dobrać się do aplikacji WWW

Tomasz Greszata - Koszalin

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Sprawozdanie nr 4. Ewa Wojtanowska

World Wide Web? rkijanka

HTTP W 5-CIU PYTANIACH MICHAŁ KOPACZ

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4

Model sieci OSI, protokoły sieciowe, adresy IP

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Protokół sieciowy Protokół

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, . A. Kisiel,Protokoły DNS, SSH, HTTP,

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.

Sieci komputerowe. Wykład 8: Warstwa zastosowań: FTP i HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu ftp.

System operacyjny UNIX Internet. mgr Michał Popławski, WFAiIS

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Protokoły internetowe

Zaawansowane Techniki WWW (HTML, CSS i JavaScript)

Technologie Internetu. Protokół HTTP. Aleksander Denisiuk.

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 14 Protokoły sieciowe

Polityka prywatności Spółdzielni Mieszkaniowej Słoneczny Stok

Usługi sieciowe systemu Linux

Protokoły sieciowe - TCP/IP

Instrukcja konfiguracji funkcji skanowania

TRX API opis funkcji interfejsu

Sprawozdanie Laboratorium 4

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

Polityka prywatności

Architektura aplikacji sieciowych. Architektura klient-serwer

Programowanie Komponentowe WebAPI

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok I, semestr II

Protokoły Internetowe

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1.

Opis komunikacji na potrzeby integracji z systemem klienta (12 kwiecień, 2007)

Zadanie programistyczne nr 3 z Sieci komputerowych

Sieci równorzędne, oraz klient - serwer

Bezpieczeństwo WWW. Plan prezentacji. WWW a protokoły TCP/IP; URL. Czym jest WWW?

Sieci Komputerowe i Bazy Danych

Protokoły warstwy aplikacji i ich zastosowanie

ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Nr 2 Seria: Teleinformatyka 2013

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

URZĄDZENIA TECHNIKI KOMPUTEROWEJ SIECI ROZLEGŁE

Obsługa incydentów bezpieczeństwa: część I, z punktu widzenia menadżera. OWASP The OWASP Foundation

SIECI KOMPUTEROWE. Podstawowe wiadomości

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

I.Wojnicki, Tech.Inter.

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]

Tomasz Grześ. Systemy zarządzania treścią

INSTRUKCJA OBSŁUGI DLA SIECI

Materiały dodatkowe Krótka charakterystyka protokołu MODBUS

Sieci komputerowe. Wykład dr inż. Łukasz Graczykowski

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Wybrane działy Informatyki Stosowanej

Dr Michał Tanaś(

Internet to ogólnoświatowy zbiór wzajemnie połączonych ze sobą sieci komputerowych (lokalnych LAN i rozległych WAN). Za datę powstania Internetu

Gatesms.eu Mobilne Rozwiązania dla biznesu

Laboratorium - Poznawanie FTP

Teoria sieci komputerowych

ECDL/ICDL Web Editing Moduł S6 Sylabus - wersja 2.0

13. Konfiguracja proxy http, smtp, pop3, ftp, ssl

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

Ministerstwo Finansów

ZiMSK dr inż. Łukasz Sturgulewski, DHCP

POLITYKA Prywatności. Przetwarzanie i Ochrona Danych Osobowych

Internet, jako ocean informacji. Technologia Informacyjna Lekcja 2

Transkrypt:

SIECI KOPMPUTEROWE I TECHNOLOGIE INTERNETOWE (SKiTI) Wykład 10 Protokół HTTP Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok I, semestr II Opracowanie: dr inż. Tomasz Rutkowski Katedra Inżynierii Systemów Sterowania SKiTI 2015 1

Plan Wykładu 1. Przypomnienie pojęć: Internet, WWW 2. Technologia klient-serwer 3. Protokół HTTP: Typy i podtypy MIME Identyfikatory URI i URL Etapy transakcji w protokole HTTP Kody statusu odpowiedzi serwera Podstawowe metody protokołu HTTP Cookies Buforowanie dokumentów SKiTI 2015 2

Czym jest Internet? Internet Internet to sieć składająca się z wielu sieci komputerowych oplatających kulę ziemską Internet łączy ponad 20000 sieci w 150 krajach Internet to największa i najbardziej znana na świecie międzysieć Internet jest strukturą, mechanizmem transportu umożliwiającym wymianę danych w ramach sieci WWW SKiTI 2015 3

World Wide Web Czym jest sieć World Wide Web? WWW to największy na świecie elektroniczny zbiór informacji WWW to zbiór milionów połączonych ze sobą dokumentów, znajdujących się na komputerach rozproszonych po całym świecie Komunikacja pomiędzy komputerami z całego świata odbywa się za pośrednictwem Internetu WWW jest więc ogólnoświatowym systemem komunikacyjnym umożliwiającym wymianę danych mulitemiadalnych pomiędzy komputerami podłączonymi do Internetu SKiTI 2015 4

World Wide Web Co jest potrzebne by korzystać z World Wide Web? Na lokalnym komputerze: połączenie z Internetem przeglądarka internetowa W sieci Internetowej: serwery WWW TECHNOLOGIA KLIENT-SERWER SKiTI 2015 5

Technologia Klient-Serwer W celu komunikowania się w sieci potrzebne jest połączenie pomiędzy dwoma rozmawiającymi ze sobą usługami (programami), komputerami Model Klient-Serwer dzieli usługi (programy), komputery na dwie kategorie: Klient Serwer SKiTI 2015 6

Technologia Klient-Serwer SERWER KLIENT sieć Pasywny Cechy Serwera Czeka na żądania od klientów W momencie otrzymania żądania, przetwarza je, a następnie wysyła odpowiedź Aktywny Cechy Klienta Wysyła żądania do serwera Oczekuje na odpowiedź od serwera SKiTI 2015 7

Technologia Klient-Serwer Klient To program lub komputer (na którym ten program jest uruchomiony) korzystający z usług dostarczanych przez serwer Przykłady klientów: programy pozwalające zdalnie korzystać z zasobów innych komputerów (np. telnet) przeglądarki internetowe (np.: Firefox, Internet Explorer) SKiTI 2015 8

Technologia Klient-Serwer Oraz wiele innych przeglądarek WWW, które można zestawić w następujących ogólnych grupach: przeglądarki graficzne przeglądarki textowe przeglądarki historyczne Listę przeglądarek WWW odnoszącą się do wymienionych wyżej kategorii można znaleźć pod adresem: http://pl.wikipedia.org/wiki/lista_przegl%c4%85darek_internetowych Natomiast porównanie różnych przeglądarek WWW można znaleźć pod adresem: http://pl.wikipedia.org/wiki/por%c3%b3wnanie_przegl%c4%85darek_internetowych SKiTI 2015 9

Serwer Technologia Klient-Serwer To program (proces, aplikacja, usługa) lub komputer (na którym jest uruchomiony ten program) świadczący usługi na rzecz innych programów (znajdujących się zazwyczaj na innych komputerach połączonych w sieć) Serwer udostępniania określone zasoby, usługi innym programom, komputerom lub pośredniczy w przekazywaniu danych między tymi programami, komputerami Przykłady serwerów: serwer WWW serwer aplikacji serwer baz danych SKiTI 2015 10

Technologia Klient-Serwer - marki serwerów WWW na rynku SKiTI 2015 Źródło: http://news.netcraft.com/ 11

Technologia Klient-Serwer - marki serwerów WWW na rynku SKiTI 2015 Źródło: http://news.netcraft.com/ 12

Technologia Klient-Serwer - domeny SKiTI 2015 Źródło: http://news.netcraft.com/ 13

Technologia Klient-Serwer Liderzy na rynku serwerów protokołu HTTP: Apache : Jest serwerem dostępnym dla wielu systemów operacyjnych (np.: Linux, Windows, rodzina BSD, Novell NetWare, Macintosh, BeOS...) Serwer jest dostępny na licencji Open Source Ma modularną budowę, moduły są często tworzone przez niezależne grupy programistów Działa jako zestaw procesów zarządzanych przez jeden główny proces serwera Obsługuje wielowątkowość i wieloproceserowość Zarządzanie za pomocą tekstowego pliku konfiguracyjnego http://www.apache.org SKiTI 2015 14

Technologia Klient-Serwer Liderzy na rynku serwerów protokołu HTTP: Microsoft IIS (ang. Internet Information Service): Jest serwerem wielu protokołów internetowych m.in. HTTP, FTP, SMTP i NNTP Obsługuje wiele specyficznych dla systemu Windows usług Działa w systemie jako pojedynczy proces Obsługuje SSL Ma możliwość ograniczenia pasma w zależności od witryny Jest zarządzany w graficznym środowisku Windows Jest skalowalny wiele ustawień dopasowuje się automatycznie do zasobów środowiska, w którym działa SKiTI 2015 15

Protokół HTTP (ang. HyperText Transfer Protocol) SKiTI 2015 16

Protokół HTTP HTTP HTTP to protokół sieciowy zaprojektowany specjalnie dla sieci WWW Zarówno serwery i przeglądarki WWW wykorzystują protokół HTTP do przesyłania danych multimedialnych w Internecie Przy przesyłaniu danych multimedialnych protokół HTTP używa rozszerzeń MIME (ang. Multipurpose Internet Mail Extension) Protokół HTTP jest protokołem lokującym się na samym szczycie stosu protokołów TCP/IP SKiTI 2015 17

Protokół HTTP HTTP HTTP jest protokołem typu klient-serwer HTTP do transportu wykorzystuje protokół TCP (port 80) W protokole HTTPS, protokół HTTP jest enkapsulowany przez strumień SSL tworzony jest bezpieczny kanał transmisji (port 443) S-HTTP (ang. Secure HTTP) ) to protokół zorientowany na bezpieczną transmisję pojedynczych komunikatów protokołu HTTP SKiTI 2015 18

Protokół HTTP - MIME MIME (ang. Multipurpose Internet Mail Extension) MIME jest technicznym opisem przesyłania danych multimedialnych przy użyciu poczty elektronicznej MIME definiuje jednoznacznie formaty plików tekstowych, graficznych, dźwiękowych, video itp.. Dzięki rozszerzeniom MIME można zdefiniować własny format plików i wykorzystywać go w trakcie komunikacji z serwerem pod warunkiem że format ten będzie rozpoznawany na serwerze Przesyłając dane serwer WWW dołącza do pliku lub dokumentu nagłówek zawierający informacje o typie pliku Odbierając plik lub dokument przeglądarka WWW odczytuje nagłówek i na jego podstawie identyfikuje typ danych SKiTI 2015 19

Protokół HTTP - przykładowe typy i podtypy MIME text text text multipart multipart application application image image audio audio video video Typ MIME html plain richtext digest mixed msword postscript jpeg gif basic 23kadpcm mpeg quicktime Podtyp MIME Typy oraz podtypy MIME rozbudowują się w miarę czasu nowe aplikacje nowe typy plików nowe rozszerzenia MIME SKiTI 2015 20

Protokół HTTP - identyfikatory URI, URL, URN URI (ang. Uniform Resource Identifier) URI to identyfikator, standard internetowy w postaci łańcucha znaków, który umożliwia łatwą identyfikację zasobów znajdujących się w sieci URI służy tylko do identyfikacji i niekoniecznie musi wskazywać miejsce skąd można pobrać konkretne zasoby z sieci Wspomniany łańcuch znaków określa: adres (Uniform Resource Locator URL) lub nazwę (Uniform Resource Name - URN) SKiTI 2015 21

Protokół HTTP - identyfikatory URI, URL, URN URI URL URN SKiTI 2015 22

Protokół HTTP - identyfikatory URI, URL, URN URL (ang. Uniform Resource Locator) Identyfikatory URL zostały stworzone na potrzeby sieci WWW Identyfikator URL definiuje ogólny sposób adresowania różnych zasobów w sieci Internet URL można traktować jako specjalny rodzaj adresu sieciowego, odnoszącego się do konkretnego obiektu znajdującego się na serwerze (adres) oraz sposobu uzyskania dostępu do tego obiektu (zazwyczaj protokół) SKiTI 2015 23

Protokół HTTP - identyfikatory URI, URL, URN Przykłady zdefiniowanych schematy dostępu URL: ftp http URL s-https telnet opis File Transfer Protocol HyperText Transfer Protocol Secure HTTP sesja interaktywna SKiTI 2015 24

Protokół HTTP - identyfikatory URI, URL, URN Składnia URI: <scheme> scheme>:<scheme-specific-part> Przykład niehierarchicznego URI: mailto:kowalski@pg.gda.pl Pełna składnia URL używana w protokole HTTP: http://< //<host>:<port>/< >/<path>?<search path> Przykład hierarchicznego URI: http://www.pg.gda.pl:80 http:// news.netcraft.com/archives/2013/05/03/ /2013/05/03/may- 2013-web-server-survey.html#more-9167 SKiTI 2015 25

Protokół HTTP - transakcja Protokół HTTP, w przeciwieństwie do protokołu FTP, tworzy połączenie sieciowe w celu wykonania pojedynczej operacji np. pobranie z serwera pliku W momencie gdy przeglądarka otrzyma żądany plik to serwer przerywa połączenie Jeżeli zachodzi potrzeba pobrania kolejnego pliku to przeglądarka na nowo łączy się z serwerem Pojedyncza operacja w protokole HTTP nazywana jest transakcją Protokół HTTP jest protokołem bezsesyjnym i bezstanowym ( nie pamięta niczego między jednym a drugim żądaniem) SKiTI 2015 26

Protokół HTTP - 4 etapy transakcji w protokole HTTP SERWER 1) POŁĄCZENIE 2) ŻĄDANIE KLIENT 3) ODPOWIEDŹ 4) ZAMKNIĘCIE sieć Etap 1) : Połączenie Etap 2) : Żądanie Etap 3) : Odpowiedź Etap 4) : Zamknięcie SKiTI 2015 27

Kody statusu Protokół HTTP - kody statusu Kod statusu jest kodem trzycyfrowym Pierwsza cyfra kodu określa klasę odpowiedzi: 1xx : informacje obecnie nie wykorzystywana 2xx : sukces dane zostały odebrane, zrozumiane i zaakceptowane 3xx : zapytanie zwrotne w celu zakończenia transakcji należy wykonać dodatkowe operacje 4xx : błąd klienta niepoprawna składnia żądania lub żądanie niemożliwe do zrealizowania 5xx : błąd serwera serwer nie zrealizował poprawnego żądania SKiTI 2015 28

Protokół HTTP - kody statusu Przykładowe kody statusu oraz ich opisy Status 200 OK Opis 201 Polecenie POST wykonano poprawnie 300 Zasoby odnaleziono w kilku miejscach 301 Zasoby przeniesiono w inne miejsce 400 Niepoprawne żądanie klienta 404 Nie odnaleziono zasobów 501 Metoda niezaimplementowana 502 Niewłaściwa bramka lub przeciążony serwer SKiTI 2015 29

Metody protokołu HTTP Protokół HTTP - metody Metody HTTP są poleceniami używanymi przez program typu klient w celu określenia rodzaju żądania Metody HTTP dotyczą zasobów opisanych przez identyfikator URL Podstawowe metody HTTP: GET, HEAD, POST i PUT Inne metody HTTP: CHECKIN, CHECKOUT, DELETE, LINK, UNLINK, TRACE, SEARCH, SHOWMETHOD... SKiTI 2015 30

Metody protokołu HTTP Protokół HTTP - metody Metoda GET HEAD POST PUT OPTIONS DELETE Opis Żądanie zasobu od serwera w formie nagłówka i treści Żądanie zasobu od serwera w formie nagłówka Żądanie odebrania przez serwer danych od klienta Żądanie odebrania przez serwer pliku od klienta Żądanie od serwera identyfikacji obsługiwanych metod Żądanie usunięcia zasobu (dokumentu) z serwera SKiTI 2015 31

Protokół HTTP -żądanie Żądanie = Metoda HTTP + + identyfikator URL + + numer wersji protokołu HTTP SKiTI 2015 32

Metoda GET Protokół HTTP - metody Metoda GET to żądanie klienta przesłania z serwera zasobów, opisanych przez identyfikator URI Serwer odnajduje zasoby na podstawie ich identyfikatora Metoda GET może mieć charakter warunkowy: pole nagłówka : If-Modified-Since W wersji warunkowej pozwala ograniczyć ruch w sieci (umożliwia uniknięcie pobierania wielokrotnie tych samych zasobów) SKiTI 2015 33

Metoda HEAD Protokół HTTP - metody W odróżnieniu od metody GET,, serwer w odpowiedzi na polecenie HEAD przesyła jedynie informację o wyszczególnionych zasobach (bez ich przesyłania) klient otrzymuje jedynie wiersze nagłówkowe odpowiedzi HTTP, bez załączonego ciała dokumentu Metoda HEAD jest stosowana do testowania poprawności adresów i łączy URL Nie istnieje wersja warunkowa polecenia HEAD SKiTI 2015 34

Metoda POST Protokół HTTP - metody Metoda POST jest podobna do metody GET, z tą różnicą że służy do poinformowania serwera, że dołączony do komunikatu obiekt (dane przesyłane przez klienta do serwera) należy skojarzyć z przesłanym identyfikatorem URL Metoda POST umożliwia utworzenie lub modyfikację zasobów powiązanych z przesłanym identyfikatorem URL Metoda POST wykorzystywana jest do przesyłania danych z formularzy, pole nagłówka: Content-Type: application/x-www-form-urlencoded SKiTI 2015 35

Protokół HTTP - 4 etapy transakcji w protokole HTTP SERWER 1) POŁĄCZENIE 2) ŻĄDANIE KLIENT 3) ODPOWIEDŹ 4) ZAMKNIĘCIE sieć Etap 1) : Połączenie Etap 2) : Żądanie Etap 3) : Odpowiedź Etap 4) : Zamknięcie SKiTI 2015 36

Protokół HTTP - 4 etapy transakcji w protokole HTTP SERWER 1) POŁĄCZENIE 2) ŻĄDANIE KLIENT 3) ODPOWIEDŹ 4) ZAMKNIĘCIE sieć Etap 1) : Połączenie Klient tworzy połączenie z serwerem (dzięki rodzinie protokołów TCP/IP) Połączenie na jednym z dobrze znanych portów (port o numerze 80 dla protokołu HTTP) SKiTI 2015 37

Protokół HTTP - 4 etapy transakcji w protokole HTTP SERWER 1) POŁĄCZENIE 2) ŻĄDANIE KLIENT 3) ODPOWIEDŹ 4) ZAMKNIĘCIE Etap 2) : Żądanie sieć Program typu klient wysyła żądanie, zaczyna się ono informacją o metodzie, po której następuje identyfikator URL Do tych danych klient dołącza również numer wersji używanego protokołu oraz znak sterujący CRLF Ewentualnie dołącza dodatkowe informacje w nagłówku SKiTI 2015 38

Protokół HTTP - 4 etapy transakcji w protokole HTTP Etap 2) : Przykład fragmentu żądania otwarcia strony http://www.pg.gda.pl/ GET / HTTP/1.1 Host: www.pg.gda.pl User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8, image/png,*/*;q=0.5 Accept-Language: pl,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive... I DALEJ... SKiTI 2015 Dane z przeglądarki Firefox z rozszerzeniem LiveHTTPHearders 39

Protokół HTTP - 4 etapy transakcji w protokole HTTP SERWER 1) POŁĄCZENIE 2) ŻĄDANIE KLIENT 3) ODPOWIEDŹ 4) ZAMKNIĘCIE Etap 3) : Odpowiedź sieć Po odebraniu żądania serwer wysyła komunikat z odpowiedzią (zaczyna się on informacją o wersji HTTP, po której następuje kod statusu oraz tekst opisujący kod statusu) Do tych danych serwer dołącza znak sterujący CRLF Ewentualnie dołącza dodatkowe informacje w nagłówku, następnie znak CRLF oraz treść dokumentu SKiTI 2015 40

Protokół HTTP - 4 etapy transakcji w protokole HTTP Etap 3) : Przykład fragmentu odpowiedzi serwera http://www.pg.gda.pl/ HTTP/1.x 200 OK Date: Sun, 20 Apr 2008 16:54:46 GMT Server: Apache/2.2.6 (Unix) mod_ssl/2.2.6 OpenSSL/0.9.8g mod_ldap_userdir/1.1.10 mod_python/3.3.1 Python/2.5.1 Keep-Alive: timeout=15, max=49 Connection: Keep-Alive Content-Type: text/html... <html> <body> I DALEJ... SKiTI 2015 Dane z przeglądarki Firefox z rozszerzeniem LiveHTTPHearders 41

Protokół HTTP - 4 etapy transakcji w protokole HTTP SERWER 1) POŁĄCZENIE 2) ŻĄDANIE KLIENT 3) ODPOWIEDŹ 4) ZAMKNIĘCIE sieć Etap 4) : Zamknięcie Po spełnieniu żądania wysyłanego przez program typu klient, serwer przerywa połączenie TCP/IP Nieoczekiwane zakończenie połączenia wiąże się z przerwaniem realizowanej transakcji SKiTI 2015 42

Zmienne Cookies Protokół HTTP - cookies Cookies powstały ponieważ protokół HTTP jest bezstanowy (nie ma pamięci) HTTP obsługuje cookies za pomocą pól nagłówkowych Cookies to niewielkie informacje (zmienne) tekstowe wysyłane przez serwer i zapisywane po stronie klienta Cookies pozwalają zazwyczaj na odczytanie informacji w nich zawartych jedynie serwerowi, który je utworzył Cookies przechowywane są po stronie klienta w pamięci lub na dysku twardym (plik tekstowy lub binarny) Cookies posiadają: nazwę i przypisaną jej wartość, czas życia (ważności) domenę (określa widoczność cookies przez różne serwery) SKiTI 2015 43

Protokół HTTP - buforowanie dokumentów Buforowanie dokumentów klient (przeglądarka internetowa) może buforować (zapisywać) przeglądane w przeszłości dokumenty aby skrócić czas obsługi często powtarzających się żądań bufor dokumentów znajduje się na dysku twardym w systemi plików klienta różne algorytmy kontroli spójności bufora (czy kopia dokumentu zapisana po stronie klienta ciągle zgadza się z wersją dokumentu po stronie serwera?): na podstawie informacji o wersji dokumentu na podstawie informacji o dacie ostatniej modyfikacji dokumentu na podstawie informacji o czasie ważności (wystawiany przez serwer) SKiTI 2015 44

Bibliografia Przykładowa Literatura: K. Jamsa. Programowanie WWW. Warszawa, 1997. NIKOM K. Krysiak. Sieci Komputerowe. Gliwice, 2005. Helion Przykładowe Linki: Strona główna World Wide Web Consortium (W3C) : http://www.w3.org Najświeższa specyfikacja protokołu HTTP: http://www.w3.org/protocols/ SKiTI 2015 45

Dziękuję za uwagę!!! SKiTI 2015 46