Technologie internetowe



Podobne dokumenty

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

Technologie Internetu. Protokół HTTP. Aleksander Denisiuk.

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

HTTP W 5-CIU PYTANIACH MICHAŁ KOPACZ

Kurs WWW. Paweł Rajba

Programowanie Sieciowe 2 Protokoły komunikacyjne: HTTP

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

Programowanie w Internecie

PSI Protokół HTTP + wstęp do przedmiotu. Kraków, 10 październik 2014 mgr Piotr Rytko Wydział Matematyki i Informatyki UJ

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

XML-RPC: Zdalne wykonywanie procedur

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

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

FTP co to takiego? FTP File Transfer Protocol (Protokół Przesyłania Plików) RFC 114,959

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

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

I.Wojnicki, Tech.Inter.

Języki programowania wysokiego poziomu WWW

Protokół HTTP. Omówienie standardu z analizą ruchu sieciowego

Uwierzytelnianie HTTP

Ogólnopolskie Repozytorium Prac Dyplomowych

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

HTTP. literatura:

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

HTTP, CGI, Perl. HTTP HyperText Transfer Protocol. CGI Common Gateway Interface. Perl Practical Extraction and Report Language

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

1. Model klient-serwer

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

Problemy z uwierzytelnianiem HTTP

Sieciowe systemy informacyjne

Specyfikacja techniczna. mprofi Interfejs API

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

Paweł Rajba

Zadanie programistyczne nr 3 z Sieci komputerowych

I.Wojnicki, Tech.Inter.

Programowanie w Internecie

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4

Raport dla strony: Data wygenerowania raport: :37:26 Liczba wykrytych problemów: 34

DOKUMENTACJA TECHNICZNA SMS API MT

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

OPIS TECHNICZNY SYSTEM HOSTED SMS

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

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4 Wojciech Kaczmarski

Aplikacje webowe. mgr inż. Aleksander Smywiński-Pohl. Elektroniczne Przetwarzanie Informacji

Kurs WWW 1. Paweł Rajba

SEO Audyt. Podsumowanie. 51/100 punktów. Masz 11 rzeczy, które możesz poprawić! Uzyskany wynik: Data przeprowadzenia: :33:47

Analiza malware'u SandroRAT_sec Kaspersky_Mobile_Security.apk

Specyfikacja interfejsów usług Jednolitego Pliku Kontrolnego

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

I.Wojnicki, JiTW. Języki i Technologie Webowe. Protokół HTTP, Przegladarki. Igor Wojnicki

ZABEZPIECZENIE KOMUNIKACJI Z SYSTEMEM E-PŁATNOŚCI

Orange Send MMS. Autoryzacja. Metoda HTTP. Parametry wywołania. API wyślij MMS dostarcza wiadomości MMS. Basic POST

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

Źródła. cript/1.5/reference/ Ruby on Rails: AJAX: ssays/archives/

Dokumentacja REST API v 3.0. Kraków, 7 marca FreshMail, ul. Fabryczna 20a, Kraków tel , freshmail.

Ministerstwo Finansów

Ministerstwo Finansów

Bazy Danych i Usługi Sieciowe

Wybrane działy Informatyki Stosowanej

Protokół HTTP wprowadzenie. Protokół HTTP podstawowe cechy. Protokół HTTP podstawowe cechy. Protokół HTTP. Podstawowy protokół World Wide Web

Architektura aplikacji sieciowych. Architektura klient-serwer

mgr inż. Michał Paluch

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


Warszawa Specyfikacja techniczna. mprofi Interfejs API wersja 1.0.7

Aplikacje internetowe Koncepcja Architektura Technologie

Dokumentacja Techniczna. Dokumentacja techniczna usługi płatności mobilnych

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

SMS Kod Automatyczny

Dokumentacja REST API v 3.0

Laboratorium nr 4 - Badanie protokołów WWW

Podstawy implementacji usług sieciowych OGC

The OWASP Foundation Session Management. Sławomir Rozbicki.

Aplikacje WWW Wprowadzenie

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Internetowe bazy danych

Gatesms.eu Mobilne Rozwiązania dla biznesu

Stos TCP/IP. Warstwa aplikacji cz.2

PHP. Tematyka wykładów: Język PHP PHP i bazy danych Rozszerzenia PHP

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Serwery WWW. Konfiguracja. Zadania serwera. NCSA httpd 1.5

Poniższy diagram prezentuje scenariusz subskrypcji aplikacji do usługi CallEventNotifications.

Specyfikacja HTTP API. Wersja 1.6

SEO Audit for domain zdrowewidzenie.pl

Plan całości wykładu. Warstwa łącza i sieci lokalne

Spis treści. Wprowadzenie 13

SIP: Session Initiation Protocol. Krzysztof Kryniecki 16 marca 2010

Zbieranie podstawowych śladów działalności.

DirectBilling dokumentacja techniczna

Rentgen współczesnych ataków DoS. Marcin Ulikowski Network Engineer, Atos IT Services

Sprawozdanie nr 4. Ewa Wojtanowska

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

PHP. i komunikacja klient-serwer PAWEŁ RAJBA

Projektowanie stron WWW

Dokumentacja REST API v 3.0

Paweł Rajba

pasja-informatyki.pl

Akademia Górniczo-Hutnicza im. Stanisława Staszica

Transkrypt:

Protokół HTTP Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/

Spis treści Protokół HTTP Adresy zasobów Jak korzystać z telnet? Metody protokołu HTTP Kody odpowiedzi Pola nagłówka HTTP - 2 -

Adresy zasobów Są to adresy URL (URI, URN) Schemat <scheme>://<authority><path>?<query> Przykłady typowych schematów http://localhost:80/index.php?z1=w1&z2=w2 ftp://user:pass@serwer.pl:21/dokument.txt mailto:pawel@ii.uni.wroc.pl news://pl.comp.os.linux/ telnet://156.17.4.4/ - 3 -

Jak korzystać z telnet? Uruchamiamy program telnet telnet<enter> Włączamy lokalne echo set localecho Otwieramy połączenie open localhost 80 Możemy w tym momencie (opcjonalnie) wpisać CTRL+], ENTER Wprowadzamy żądanie protokołu HTTP - 6 -

Metody protokołu HTTP GET Służy do pobrania zasobu z serwera Przykład GET /php/w06/resource.html HTTP/1.1 Host: localhost HEAD Podobnie jak GET, przy czym pobiera sam nagłówek Przykład HEAD /php/w06/resource.html HTTP/1.1 Host: localhost - 4 -

Metody protokołu HTTP POST Wysyła dane do serwera Dane są kodowane zwykle na dwa sposoby x-www-form-urlencoded multipart/formdata (format MIME, RFC1867) Przykład, wysyłanie prostych danych POST /htdocs/processdata.php HTTP/1.1 Host: localhost Content-type: application/x-www-form-urlencoded Content-length: 48 imie=jan&nazwisko=kowalski&miasto=warszawa - 5 -

Metody protokołu HTTP PUT Pozwala umieścić zasób na serwerze Przykład PUT /plik.txt HTTP/1.1 Host: localhost Content-type: text/html Content-length:11 Content - 7 -

Metody protokołu HTTP DELETE Pozwala usunąć zasób z serwera Przykład DELETE /plik.txt HTTP/1.1 Host: localhost OPTIONS Pozwala ustalić opcje związane z danych adresem Przykład OPTIONS / HTTP/1.1 Host: localhost - 8 -

Metody protokołu HTTP TRACE Pozwala ustalić listę serwerów pośredniczących Przykład TRACE / HTTP/1.1 Host: localhost - 9 -

Kody odpowiedzi Mamy następujące grupy kodów 100-199 : Informacja Typowe: 100 Continue 200-299 : Żądanie zostało przetworzone poprawnie Typowe: 200 OK, 206 Partial Content 300-399 : Żądanie zostało przeadresowane; konieczne są dalsze kroki Typowe: 300 Multiple Choices, 301 Moved Pernamently, 307 Moved Temporarily - 10 -

Kody odpowiedzi Mamy następujące grupy kodów c.d. 400-499 : Błąd po stronie klienta (np. błędny URL) Typowe: 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 405 Method Not Allowed 500-599 : Błąd po stronie serwera Typowe: 500 Internal Server Error, 503 Service Unavailable - 11 -

Pola nagłówka HTTP dzielimy na 4 grupy Pola ogólnego przeznaczenia Pola nagłówka żądania (klient) Pola nagłówka odpowiedzi (serwer) Pola nagłówka zawartości Wielkość znaków w nazwach pól nie ma znaczenia Kolejność pól również nie ma znaczenia - 12 -

Pola ogólnego przeznaczenia Cache-Control określa sposób buforowania np. w serwerach pośredniczących : Cache-Control: value1 [, value2...] Przykładowe wartości żądania no-cache, no-store, max-age Przykładowe wartości odpowiedzi public, private, no-cache, no-store, must-revalidate, max-age Connection rodzaj połączenia : Connection: { keep-alive close } - 13 -

Pola ogólnego przeznaczenia Date moment wysłania żądania/odpowiedzi Date: format-daty Komentarz Czas jest zawsze względem GMT Format powinien być zgodny z RFC 1123; Akceptowane (niezalecane) są także formaty zgodny z RFC1036 oraz używany przez funkcje asctime() z języka C Via określa serwery pośredniczące Via: protokół host[:port] [komentarz] [,... ] - 14 -

Pola nagłówka żądania Accept określa akceptowane typy MIME danych Accept: typ/podtyp [q=ranga] [,...] Przykład (0<=ranga<=1) Accept: text/*, image/gif Accept-Charset określa preferowane alfabety Accept-Charset: alfabet [q=ranga] [,...] Przykład Accept-Charset: UTF-8, ISO-8859-2 - 15 -

Pola nagłówka żądania c.d. Accept-Language określa język dokumentu : Accept-Language: język [q=ranga] [,...] Authorization pozwala się uwierzytelnić : Authorization: schemat dane-uwierzytelniające Przykład Authorization: BASIC d2vibwfzdgvyojrsc2tknzrzmzi= Co odpowiada danym: webmaster:4lskd74s32 Kodowanie tekstu do base64 można zrobić poprzez stronę: http://nospam-pl.net/koduj.php - 16 -

Pola nagłówka żądania c.d. Cookie służy do przekazywania,,ciastek'' Cookie: nazwa=wartość [;...] Związane z polem Set-Cookie Powinno być przekazywane przez serwery pośredniczące Host określa hosta i domenę, z którego pobieramy zasób (istotne przy wirtualnych hostach) Host: nazwa[:port] - 17 -

Pola nagłówka żądania c.d. If-Modified-Since umożliwia GET warunkowy If-Modified-Since: data Range pobranie fragmentów dokumentu Range: bytes=od-do,[od-do,...] Można nie podać do, wtedy będzie do końca dokumentu User-Agent przekazanie informacji o kliencie User-Agent: nazwa - 18 -

Pola nagłówka odpowiedzi Accept-Ranges akceptacja fragmenów dokumentu Accept-Ranges: bytes none Location określa nowy adres zasobu Location: URI Retry-After kiedy zasób będzie dostępny Retry-After: { date sekundy } Zwykle razem z kodem 5xx lub 3xx - 19 -

Pola nagłówka odpowiedzi Set-Cookie definiuje ciastko u klient Set-Cookie: nazwa=wartosc opcje Dostępne opcje expires=data path=ścieżka domain=nazwa-dns secure - 20 -

Pola nagłówka odpowiedzi WWW-Authenticate WWW-Authenticate: schemat obszar-autoryzacji Zwykle razem z kodem 401 Unauthorized Przykład WWW-Authenticate: BASIC realm="admin" Obsługiwane są dwa obszary (schematy): BASIC i DIGEST Server Server: informacja-o-produkcie - 21 -

Pola nagłówka zawartości Allow dozwolone metody Allow: metoda [,metoda...] Content-Encoding rodzaj kodowania zawartości Content-Encoding: rodzaj (np. gzip) Content-Language język dokumentu Content-Language: język (np. en, en-us, pl) - 22 -

Pola nagłówka zawartości Content-Length wielkość dokumentu Content-Length: liczba Content-Range określa pobrany fragment Content-Range: początek-koniec/rozmiar Content-Type określa type MIME danych (przykład) Content-Type: text/html - 23 -

Pola nagłówka zawartości Expires moment, po którym dokument jest już nieaktualny Expires: HTTP-date Last-Modified data ostatniej modyfikacji dokumentu Last-Modified: HTTP-date - 24 -

Przykłady Pobranie fragmentu dokumentu GET /php/w06/resource.html HTTP/1.1 Host: localhost Range: bytes=107-129 Pobranie wersji językowej GET /php/w06/dokument.html HTTP/1.1 Host: localhost Accept-Language: pl;q=1.0, fr;q=0.8, en;q=0.4-25 -

Narzędzie fiddler Fiddler to narzędzie to monitorowania protokołu HTTP Strona domowa: http://www.fiddler2.com/fiddler2/ Przeglądamy podstawowe funkcjonalności - 26 -