2010-03-31 Technologie internetowe Wykład 2 Protokół HTTP i formularze HTML Warstwy protokołów internetowych Warstwa sieciowa IP UDP Warstwa transportowa TCP DNS Warstwa aplikacji FTP TELNET SMTP NNTP POP3 SSH SSH HTTP HTTPS 1 2010-03-31 Protokół HTTP (HyperText Transfer Protocol) Pakiet wysyłany przez serwer GET / HTTP/1.1 Host: host.com User-Agent: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.6) Gecko/20040122 Accept: text/xml,application/xml,application/xhtml+xml,text/html; q=0.9,text/plain;q=0.8 Accept-Language: pl,en-us;q=0.7,en;q=0.3 Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive znak powrotu karetki i wysunięcia strony (CRLF) Protokół HTTP (HyperText Transfer Protocol) Odpowiedz serwera HTTP/1.1 200 OK Date: Sun, 11 Jul 2004 12:04:30 GMT Server: Apache/2.0.50 (Unix) DAV/2 Set-Cookie: PSID=d6dd02e9957fb162d2385ca6f2829a73; path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate Pragma: no-cache (stara metoda) Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html; charset=iso-8859-2 znak powrotu karetki i wysunięcia strony (CRLF) tutaj zawartość dokumentu 2 2010-03-31 Metody HTTP GET pobranie zasobu HEAD pobranie informacji o zasobie POST przesłanie danych na serwer PUT umieszczenie zasobu na serwerze DELETE usunięcie zasobu z serwera TRACE, CONNECT, OPTIONS Kody odpowiedzi HTTP " 200 OK Zawartość żądanego dokumentu (najczęściej zwracany nagłówek odpowiedzi w komunikacji WWW) " 201 Created Utworzono - wysłany dokument został zapisany na serwerze " 204 No content Brak zawartości - serwer zrealizował zapytanie klienta i nie potrzebuje zwracać żadnej treści " 304 Not Modified Nie zmieniono - zawartość zasobu nie podległa zmianie według warunku przekazanego przez klienta (np. data ostatniej wersji zasobu pobranej przez klienta " 400 Bad Request Nieprawidłowe zapytanie - żądanie nie może być obsłużone przez serwer z powodu błędnej składni zapytania " 401 Unauthorized Nieautoryzowany dostęp - żądanie zasobu, który wymaga autentykacji " 403 Forbidden Zabroniony - serwer zrozumiał zapytanie lecz konfiguracja bezpieczeństwa zabrania mu zwrócić żądany zasób " 404 Not Found Nie znaleziono - serwer nie odnalazł zasobu według podanego URI ani niczego co by wskazywało na istnienie takiego zasobu w przeszłości 3 2010-03-31 Kody odpowiedzi HTTP " 500 Internal Server Error Wewnętrzny błąd serwera - serwer napotkał niespodziewane trudności, które uniemożliwiły zrealizowanie żądania " 505 HTTP Version Not Supported Wersja HTTP nie obsługiwana - serwer nie obsługuje bądz odmawia obsługi wskazanej przez klienta wersji HTTP Dane pobierane z serwera WWW Grafika jpg, gif, png Animacje mpg, avi Animacje interaktywne swf Dane XML Strony HTML 4 2010-03-31 Formularze WWW Pozwalają na wprowadzanie danych użytkownika Dane formularza mogą zostać: Wysłane na skrzynkę pocztową Przetworzone lokalnie przez skrypt kliencki Przetworzone na serwerze WWW przez skrypt serwerowy Formularz Metoda wysyłania Miejsce wyświetlenia odpowiedzi Adres docelowy
Adresy docelowy (action): " brak formularz przetwarzany lokalnie lub wysyłany pod adres strony go zwierającej " mailto:ala@kot.pl formularz wysyłany na skrzynkę pocztową " http://www.polsl.pl formularz wysyłany do serwera WWW 5 2010-03-31 Metoda wysyłania GET Dane są doklejane do adresu wywoływanej strony, GET //query.html?imie=Jan&nazwisko=Kowal HTTP/1.1 Host: szukaj.onet.pl User-Agent: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.6) Gecko/20040122 Accept: text/xml,application/xml,application/xhtml+xml,text/html; q=0.9,text/plain;q=0.8 Accept-Language: pl,en-us;q=0.7,en;q=0.3 Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive znak powrotu karetki i wysunięcia strony (CRLF) Metoda wysyłania POST Dane są doklejane na końcu pakietu POST /query.html HTTP/1.1 Host: szukaj.onet.pl User-Agent: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.6) Gecko/20040122 Accept: text/xml,application/xml,application/xhtml+xml,text/html; q=0.9,text/plain;q=0.8 Accept-Language: pl,en-us;q=0.7,en;q=0.3 Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive znak powrotu karetki i wysunięcia strony (CRLF) imie=Jan&nazwisko=Kowal 6 2010-03-31 Porównanie GET i POST GET: Ograniczenie adresu URL do 255 znaków Przechowywanie adresu w historii POST: Brak ograniczeń na ilość danych Brak rejestracji w historii Pole tekstowe maxlength="30"> http://www.serwer.pl?imie=Jan 7 2010-03-31 Pole hasła maxlength="5"> http://www.serwer.pl?haslo=tajne Obszar tekstowy
http://www.serwer.pl?notatka=Pocz%B9tkowa+zawarto%9C%E6 8 2010-03-31 Pole opcji
Katowice
Sosnowiec
Bytom
http://www.serwer.pl?miasto=kat Pole wyboru
studiuje
pracuje http://www.serwer.pl?student=tak Uprawiam sport
Słucham muzyki
Gram w gry
http://www.serwer.pl?hobby=sport&hobby=komputer 9 2010-03-31 Lista rozwijana
http://www.serwer.pl?miasto=byt Lista wyboru
http://www.serwer.pl?miasto=byt
http://www.serwer.pl?miasto=kat&miasto=byt 10 2010-03-31 Grupowanie opcji listy