Podobne dokumenty
Technologie internetowe

Paweł Rajba

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

HTTP W 5-CIU PYTANIACH MICHAŁ KOPACZ

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

Technologie Internetu. Protokół HTTP. Aleksander Denisiuk.

Programowanie Sieciowe 2 Protokoły komunikacyjne: HTTP

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

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

Kurs WWW. Paweł Rajba

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

Programowanie w Internecie

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

Języki programowania wysokiego poziomu WWW

I.Wojnicki, Tech.Inter.

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

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

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

XML-RPC: Zdalne wykonywanie procedur

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

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4

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

Gatesms.eu Mobilne Rozwiązania dla biznesu

OPIS TECHNICZNY SYSTEM HOSTED SMS

The OWASP Foundation Session Management. Sławomir Rozbicki.

Uwierzytelnianie HTTP

Specyfikacja techniczna. mprofi Interfejs API

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

ZABEZPIECZENIE KOMUNIKACJI Z SYSTEMEM E-PŁATNOŚCI

Ogólnopolskie Repozytorium Prac Dyplomowych

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

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

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

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

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

HTTP. literatura:

Programowanie w Internecie

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4 Wojciech Kaczmarski

Specyfikacja interfejsów usług Jednolitego Pliku Kontrolnego

Laboratorium nr 4 - Badanie protokołów WWW

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

Zarządzanie sesją w aplikacjach Internetowych. Kraków, Paweł Goleń

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

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.

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

Specyfikacja HTTP API. Wersja 1.6

Sieciowe systemy informacyjne

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

Warszawa Specyfikacja techniczna. mprofi Interfejs API wersja 1.0.7

Aplikacje WWW Wprowadzenie

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

1. Model klient-serwer

Problemy z uwierzytelnianiem HTTP

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

Zadanie programistyczne nr 3 z Sieci komputerowych

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

DOKUMENTACJA TECHNICZNA SMS API MT

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

Architektura aplikacji sieciowych. Architektura klient-serwer

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

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

Sprawozdanie nr 4. Ewa Wojtanowska

mgr inż. Michał Paluch

Podręcznik Integracji

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

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

Wybrane działy Informatyki Stosowanej

Analiza malware'u SandroRAT_sec Kaspersky_Mobile_Security.apk

SIP: Session Initiation Protocol. Krzysztof Kryniecki 16 marca 2010

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

SSL (Secure Socket Layer)

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

I.Wojnicki, Tech.Inter.

Kurs WWW 1. Paweł Rajba

Ministerstwo Finansów

I.Wojnicki, PHP. PHP PHP Hypertext Preprocessor. Igor Wojnicki. Ktedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie.

TIN Techniki Internetowe zima

SEO Audit for domain zdrowewidzenie.pl

Gatesms.eu Mobilne Rozwiązania dla biznesu

Sieci komputerowe i bazy danych

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

Dokumentacja Techniczna 1.2. Webtoken MT. Uruchomienie subskrybcji MT poprzez serwis WWW

SPRAWOZDANIE SIECI KOMPUTEROWE I BAZY DANYCH LABORATORIUM NR 4 BADANIE PROTOKOŁÓW HTTP KAMIL BOGDANOWSKI

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl

DOKUMENTACJA INTERFEJSU API - HTTPS


Projekt Fstorage. Łukasz Podkalicki Bartosz Kropiewnicki

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

Ministerstwo Finansów

GATE HTTP. Instrukcja użytkownika. 1. Możliwość połączenia z GATE za pomocą Telnet Wysyłanie poprawnego zapytania Request Przykład 2-4

W3 Total Cache. Skuteczne przyśpieszanie WordPressa. Bartosz Romanowski

Remote Quotation Protocol - opis

Spring Web MVC, Spring DI

Funkcje dodatkowe. Wersja 1.2.1

PHP. i komunikacja klient-serwer PAWEŁ RAJBA

Aplikacje internetowe Koncepcja Architektura Technologie

Transkrypt:

pawel.rajba@gmail.com, http://itcourses.eu/

Adresy zasobów Rodzaje zawartości Negocjacja treści Komunikacja Buforowanie HTTP Request/Response Nagłówki Bezstanowość Cookies Narzędzia

URL, http://www.ietf.org/rfc/rfc3986.txt Schemat adresu <scheme>://<authority><path>?<query>#fragment Najczęstsze zastosowanie Adresy stron w Sieci http://localhost/index.php Fragmenty Nie są wysyłane do serwera Przykład: http://localhost/index.php?z1=w1&z2=w2 Lokalizacja fizyczna vs. dynamiczna Pełny przykład http://localhost:8080/path?q=text#wyniki

Przykłady innych schematów ftp://user:pass@serwer.pl:21/dokument.txt mailto:pawel@ii.uni.wroc.pl news://pl.comp.os.linux/ telnet://156.17.4.4/

URL encoding Safe characters znaki dozwolone w adresach Unsafe characters wymagają zakodowania Kodowanie za pomocą %, przykładowo Spacja %20! %21 " %22 # %23 $ %24 % %25

Standard MIME Określony przez type/subtype application/json image/png image/gif text/xml text/html text/plain Rozszerzenie jest ostatnim miejsce, po którym rozpoznawany jest rodzaj zawartości Chociaż mapowania są częścią konfiguracji serwera WWW

Treść może być dostępna W różnych formatach np. możemy wybrać, czy chcemy XML czy JSON W różnych językach Przykład: opcje IE, zmieniamy język i pobieramy: http://go.microsoft.com/fwlink/?linkid=69157

Jedna transakcja HTTP Request HTTP Response Określone formaty, obecnie HTTP 1.1 http://www.ietf.org/rfc/rfc2616.txt Jak ręcznie wymieniać komunikaty? telnet telnet host 80 (kwestia set localecho) Fiddler

Pobieranie strony Obecne strony mają dużo zasobów przyspieszenie pobieranie poprzez równoczesne połączenia Specyfikacja: max 2 jednoczesnych połączeniach do hosta Stan obecny: przeglądarki otwierają więcej połączeń

Trwałe połączenie Mechanizm pozwala na wiele żądań w ramach jednego połączenia Serwer może decydować, czy akceptuje takie podejście poprzez nagłówek Connection: close

Forward Proxy (czyli po prostu proxy) Serwer pośredniczący pomiędzy klientem a docelowym serwerem Jest po stronie klienta Zastosowanie Przyspieszenie transmisji Filtrowanie treści, usuwanie tajnych informacji Blokowanie dostępu do facebooka, twittera, allegro,

Reverse proxy Jest po stronie serwera Zastosowanie Loadbalacing Kierowanie żądań o statyczne zasoby do dedykowane serwera (tzw. asset server) Dodatkowa warstwa zabezpieczająca Nakładanie dodatkowych elementów jak kompresja, SSL Buforowanie często żądanych zasobów

Metody HTTP a buforowanie GET buforowane, POST, PUT, DELETE nie Public cache Zasoby są buforowane na sewerach proxy Private cache Zasoby są buforowane w przeglądarce Co wpływa na buforowanie Cache-Control: public, private, no-cache, no-store Dodatkowo można dodać max-age: liczba-sekund must-revalidate Expires: data (np. w przeszłości) Pragma: no-cache Etag: hash zasobu jeśli się zmieni, zasób musi zostać pobrany Sztuczka: dodanie?wersja=1.2 do CSS, JS, itd.

Struktura żądania [metoda] [zasób] [wersja] [nagłówki] [treść] Przykład GET / HTTP/1.1 Host: kursy24.eu

Metody GET pobranie zasobu POST aktualizacja zasobu PUT wgranie zasobu DELETE usunięcie zasobu HEAD pobranie nagłówków dla zasobu Poza POST użycie metod analogicznie do GET

Użycie metody POST 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

Kilka popularnych nagłówków Referer User-Agent Accept Accept-Language Cookie If-Modified-Since Date

Struktura odpowiedzi [wersja] [status] [opis] [nagłówki] [body] Nagłowki X-cos Niestandardowe dla poszczególnych serwerów

Kody odpowiedzi 100-199 : Informacja 200-299 : Żądanie zostało przetworzone poprawnie 300-399 : Żądanie zostało przeadresowane 400-499 : Błąd po stronie klienta (np. błędny URL) 500-599 : Błąd po stronie serwera

Często spotykane statusy 200 OK 206 Partial Content 301 Moved Pernamently 302 Moved Temporarily 304 Not Modified 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 405 Method Not Allowed 500 Internal Server Error 503 Service Unavailable

Nagłówki 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 Dalej przejrzymy kilka nagłówków

Cache-Control określa sposób buforowania 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 } Date moment wysłania żądania/odpowiedzi Date: format-daty Czas jest zawsze względem GMT Format powinien być zgodny z RFC 1123;

Host Accept Accept-Language If-Modified-Since User-Agent Accept-Charset Authorization Range Priorytety określane przez q-rangę, np. Accept: typ/podtyp [q=ranga] [,...] (0<=ranga<=1) Accept: text/*, image/gif Accept-Charset określa preferowane alfabety

Accept-Ranges Retry-After Set-Cookie Etag Server WWW-Authenticate Location

Allow Content-Encoding Content-Language Content-Length Content-Range określa pobrany fragment Content-Range: początek-koniec/rozmiar Content-Type Expires Last-Modified

Każda para request-response stanowi jedną transakcję Czyli nie ma żadnego związku pomiędzy kolejnymi żądaniami Większość aplikacji jest stanowa Pamiętanie stanu w sesji Sesja może być pamiętana po stronie Klienta (np. ViewState w ASP.NET) Serwera (Session) Pojęcie sticky session

Skąd serwer wie, której sesji użyć? Poprzez identyfikator przekazywany od klienta Jak przekazać identyfikator? Parametr GET Cookies

Co to są ciastka? RFC6265 Rozmiar ciastka: do 4KB Po stronie klienta Cookie: SESSIONID=aasoi3irj Po stronie serwera Set-Cookie: SESSIONID=aasoi3irj; domain=kursy24.eu; path=/

Znaczenie parametrów domain path Ciastka sesyjne i trwałe Expires Dodatkowe parametry: Secure HttpOnly

Fiddler Postman Narzędzia developerskie Google (network)