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

Podobne dokumenty
Programowanie w Internecie

Technologie internetowe

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

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


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

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

Języki programowania wysokiego poziomu WWW

Programowanie w Internecie

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

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

Technologie Internetu. Protokół HTTP. Aleksander Denisiuk.

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

SIP: Session Initiation Protocol. Krzysztof Kryniecki 16 marca 2010

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

Wybrane działy Informatyki Stosowanej

Programowanie Sieciowe 2 Protokoły komunikacyjne: HTTP

Ogólnopolskie Repozytorium Prac Dyplomowych

HTTP W 5-CIU PYTANIACH MICHAŁ KOPACZ

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

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

mgr inż. Michał Paluch

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

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

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4 Wojciech Kaczmarski

Architektura aplikacji sieciowych. Architektura klient-serwer

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

Ministerstwo Finansów

I.Wojnicki, Tech.Inter.

pasja-informatyki.pl

DOKUMENTACJA TECHNICZNA SMS API MT

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

Remote Quotation Protocol - opis

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

INSTRUKCJA OBSŁUGI DLA SIECI

XML-RPC: Zdalne wykonywanie procedur

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

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

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

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

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

Specyfikacja interfejsów usług Jednolitego Pliku Kontrolnego

Serwery WWW. Konfiguracja. Zadania serwera. NCSA httpd 1.5

Zaawansowane Techniki WWW (HTML, CSS i JavaScript)

ZABEZPIECZENIE KOMUNIKACJI Z SYSTEMEM E-PŁATNOŚCI

Spring Web MVC, Spring DI

Dokumentacja smsapi wersja 1.4

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Ministerstwo Finansów

PayPo API v.2.0. Dokument zawiera specyfkaccę techniczną REST API PayPo.pl w wersci 2.0. Wersja dokumentu. Wykaz zmian

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

Laboratorium 6.7.2: Śledzenie pakietów ICMP

Zaawansowane aplikacje internetowe

INSTYTUT IMMUNOLOGII I TERAPII DOŚWIADCZALNEJ im. Ludwika Hirszfelda Polska Akademia Nauk

Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW

Wybrane działy Informatyki Stosowanej

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http

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

Programowanie w Sieci Internet filtry oraz web.xml. Kraków, 11 stycznia 2013 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Instrukcja obsługi serwera FTP v

Specyfikacja techniczna. mprofi Interfejs API

Zadanie programistyczne nr 3 z Sieci komputerowych

Warstwa aplikacji. Model TCP/IP Model OSI

API transakcyjne BitMarket.pl

Zmienne i stałe w PHP

Laboratorium nr 4 - Badanie protokołów WWW

Laboratorium - Poznawanie FTP

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

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Projekt Fstorage. Łukasz Podkalicki Bartosz Kropiewnicki

Specyfikacja HTTP API. Wersja 1.6

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

I.Wojnicki, Tech.Inter.

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

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

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

Kurs rozszerzony języka Python

Gatesms.eu Mobilne Rozwiązania dla biznesu

Sieci komputerowe i bazy danych

Rozproszone systemy Internetowe

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

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

1. Protokoły. Co programy wykorzystują do komunikacji przez sieć? wykorzystują protokoły komunikacyjne

SMS Kod Automatyczny

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Bezpieczne protokoły Materiały pomocnicze do wykładu

4. Podstawowa konfiguracja

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

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

Instalacja sterownika portu USB

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Protokół wymiany sentencji, wersja 1

Programowanie Aplikacji Sieciowych

DOKUMENTACJA PROTOKOŁU SMESX. Platforma SMeSKom - instrukcja korzystania z interfejsu HTTPS Protokół w wersji 2.2

Specyfikacja API 1.0. Specyfikacja kontroli Konta systemu CashBill z wykorzystaniem API opartego na REST

Transkrypt:

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

Co będzie na zajęciach Całość ćwiczeń podzielona została na trzy główne bloki: Blok 1 - o protokole HTML, sposób działania, kody odpowiedzi HTML i nagłówki, trochę o HTML 5 i CSS 3 oraz narzędziach javaskryptowych - jquery; Blok 2 - python DJango lub PHP, praca na języku skryptowym; Blok 3 - java webowa: servlety i JSP, wzorce projektowe DAO i MVC na serwletach i java beanach. Każdy z bloków kończy się projektem zaliczeniowym. Projekty są punktowane po 10 pt., każdy projekt ma swój deadline, po przekroczeniu którego max ilość punktów do zdobycia za niego spada co tydzień o 50% i jest zaokrąglana w dół (int, z obcięciem po przecinku), czyli odpowiednio 5, 2, 1, 0 pt. Oddanie projektu, nawet za 0 pt. jest warunkiem koniecznym do uzyskania zaliczenia. Podczas ćwiczeń możemy zrobić jedno kolokwium. Obecność na zajęciach jest obowiązkowa, dopuszczalne są max 2 nieobecności.

Co będzie dziś Protokół HTTP, sekwencja połączenia HTTP, typy żądań HTTP, kody statusów zwracanych przez protokół HTTP, nagłówki HTTP, lista kilku nagłówków przesyłanych do serwera, lista kilku nagłówków przesyłanych do klienta.

Protokół HTTP Komunikacja w sieci WWW odbywa się za pośrednictwem internetu i jego protokołów komunikacyjnych. Protokół jest zbiorem reguł, które ustalają formaty przesyłanych danych i normują ich transmisję. Opisują także jak ma się zachować komputer gdy wystąpią błędy w transmisji danych. Protokół HTTP umożliwia przekazanie informacji zarówno o wynikach poszukiwania obiektu jak i jego transmisji. Zaraz po zakończeniu transmisji, połączenie jest zamykane. Jeśli w zapytaniu niema podanego portu, domyślnie przyjmowany jest port nr 80. Protokół HTTP działa zwyczajowo na protokole TCP/IP, ale może równie dobrze działać na dowolnym innym protokole strumieniowym.

Sekwencja połączenia protokołu HTTP Utworzenie połączenia - tworzone jest połączenie TCP/IP (np na porcie nr 80) z serwerem WWW, wysłanie żądania - żądanie pobrania pliku, lub wysłanie plików na serwer, odpowiedź serwera - serwer zwraca komunikat z odpowiedzią, zawierający kod statusu oraz ewentualne dane, zakończenie połączenia - serwer zamyka połączenie TCP/IP.

Typy żądań HTTP GET - dane przesyłane są w adresie URI, POST - dane przesyłane w ciele zapytania (niejawnie), z reguły do przesyłania danych z formularza na serwer, DELETE - przesyła żądanie usunięcia wskazanego zasobu, OPTIONS - zwraca metody obsługiwane przez serwer dla wskazanego zasobu, HEAD - pytanie o informacje na temat zasobu, bez pobierania danych, TRACE - działa jak echo zwracając otrzymane zapytanie wysłane przez klienta (umożliwia sprawdzenie czy zapytanie nie zostało zmodyfikowane przez serwery pośrednie), PUT - uaktualnia wskazane zasoby, PATCH - podobnie jak PUT uaktualnia wskazane zasoby, ale nie koniecznie w całości, CONNECT - zamienia połączenie na tunel TCP/IP (stosowane np. do tunelowania połączenia SSL (HTTPS) przez niezabezpieczone serwery proxy).

Kody statusów zwracane przez protokół HTTP 1xx - kody informacyjne, 100 - Continue 101 - Switching Protocol 102 - Processing 110 - Connection Timeout 111 - Conection Refused 2xx - kody powodzenia, 200 - Ok 201 - Created 202 - Accepted 203 - Non-Authoriative Information 204 - No content 205 - Reset Content 206 - Partial Content 207 - Multi-Status 208 - Already Reported 3xx - kody przekierowania, 300 - Multiple Choices 301 - Moved Permanently 302 - Found 303 - See Other 304 - Not Modified 305 - Use Proxy 306 - Switch proxy (no longer used) 307 - Temporary Redirect 308 - Permanent Redirect 4xx - kody błędu klienta, 400 - Bad Request 401 - Unauthorized 402 - Payment Required 403 - Forbiden 404 - Not Found 405 - Method Not Allowed 406 - Not Acceptable 407 - Proxy Authentication Required 408 - Request Timeout 409 - Conflict 410 - Gone 411 - Length Required 412 - Precondition Failed 413 - Request Entity Too Large 414 - Request URI too Long 415 - Unsuported Media Type 416 - Requested Range Not Satisfable417 - Exception Failed 418 - I m a teapot 420 - Enchance Your Calm 5xx - kody błędu serwera. 500 - Internal Server Error 501 - Not Implemented 502 - Bad Gateway 503 - Server Unavaliable 504 - Gateway Timeout 505 - HTTP Version Not Supported 506 - Variant Also Negotiates 507 - Insufficient Storage 508 - Loop Detected 509 - Bandwidth Limit Exceeded 510 - Not Extended 511 - Network Authentication Required 598 - Network read timeout error 599 - Network connect timeout error

Nagłówki HTTP Nagłówki znajdują się na początku komunikacji, zaraz po linii zapytania/odpowiedzi. Nagłówki składają się z par rozdzielonych znakiem : identyfikator: wartość Każdy kolejny nagłówek jest oddzielony od poprzedniego znakiem końca linii. Można jednak kontynuować wypisywanie wartości nagłówka w nowej linii poprzez zaznaczenie tego za pomocą spacji lub tabulatora na pierwszym miejscu nowej linii, gdyż nowe nagłówki zaczynają się identyfikatorem zawierającym na pierwszym miejscu nowej linii inny znak różny od whitespace. Każdy nagłówek może mieć wiele wartości, są one wtedy oddzielana przecinkami. Koniec sekcji nagłówków jest oznaczony poprzez pustą linię (pierwszym znakiem w linii jest znak końca linii). Przydatnym hackiem na wyłuskanie sekcji nagłówków z odpowiedzi jest wpisanie poniższego kodu do konsoli inspektora. var url = $.ajax({type:'get',url:window.location.pathname,success: function() { alert (url.getallresponseheaders());}});

Lista kilku nagłówków przesyłanych do serwera Accept akceptowalny typ danych, Accept-Charset akceptowalny typ kodowania znaków, Accept-Encoding akceptowalne kodowanie (gzip, deflate, etc.), Authorization autoryzuje kwalifikacje dla autentykacji HTTP, Chache-Control określa mechanizm trzymania Chache dla tej transmisji, Connection określa jaki rodzaj połączenia preferuje użytkownik (np. keep-alive), Cookie ciasteczka ;D, Content-Type określa typ MIME dla ciała transmisji (w przypadku POST i PUT), Date data i czas wysłania zapytania, Host adres i port na którym nasłuchuje serwer, Max-Forwards określa maksymalną ilość przesłań dalej przez serwery proxy, Upgrade prosi serwer o upgrade do innego protokołu, User-Agent przesyła informacje o programie tworzącym zapytanie do serwera, Warning informacja o możliwości wystąpienia błędów w ciele zapytania.

Lista kilku nagłówków przesyłanych do serwera Allow dozwolone metody połączenia, Chache-Control określa politykę trzymania Chache (max-age=x [x - sekundy]), Connection opcje połączenia, Content-Encoding kodowanie używane w odpowiedzi, Content-Length długość odpowiedzi w oktetach (8-bit), Content-Location alternatywny adres zwracanych danych, Content-Disposition daje możliwość wywołania okna dialogowego dla pobrania pliku, Content-Type typ MIME dla zwracanych danych, Date data i czas wysłania odpowiedzi, Expires data i czas kiedy wysłana odpowiedź zostanie uznana za przeterminowaną, Location używane do przekierowania lub gdy jest tworzony nowy zasób, Server nazwa serwera wysyłającego odpowiedź, Set-Cookie ustawia ciasteczka na stronie klienta, Transfer-Encoding typ kodowania transferu aby zachować bezpieczeństwo danych, WWW-Authenticate określa typ autentykacji wymagany dla odbioru danych.

Dziękuję za uwagę.