SlideShare a Scribd company logo
1 of 13
PROTOKÓŁ HTTP.  TRANSAKCJA WEBOWA.  WYDAJNOŚĆ I NIEZAWODNOŚĆ USŁUGI WWW.
[object Object],Protokół HTTP.  ,[object Object],Paweł Łukasik 166761@student.pwr.wroc.pl ,[object Object]
Protokół HTTP.  Paweł Łukasik 166761@student.pwr.wroc.pl ,[object Object]
Protokół HTTP.  Paweł Łukasik 166761@student.pwr.wroc.pl Metody HTTP: GET  HEAD PUT POST  DELETE OPTIONS TRACE  CONNECT
Protokół HTTP.  Paweł Łukasik 166761@student.pwr.wroc.pl
Protokół HTTP.  Paweł Łukasik 166761@student.pwr.wroc.pl Kody stanu i komunikaty protokołu HTTP   Jednostka żądania zbyt duża 413 Użyj proxy 305 Nieobsługiwana wersja HTTP 505 Warunek wstępny nie powiódł się 412 Nie zmodyfikowany 304 Przeterminowanie bramy 504 Wymagana długość 411 Zobacz inny 303 Usługa niedostępna 503 Minęło 410 Znaleziony 302 Zła brama 502 Konflikt 409 Przeniesiony na stałe 301 Nie zaimplementowany 501 Przeterminowanie żądania 408 Wiele opcji 300 Wewnętrzny błąd serwera 500 Wymagane uwierzytelnienie proxy 407 Treść częściowa 206 Oczekiwanie nie powiodło się 417 Nie do przyjęcia 406 Resetuj treść 205 Żądany zakres nie do spełnienia 416 Metoda niedozwolona 405 Bez treści 204 Nieobsługiwana wersja HTTP 505 Nie znaleziony 404 Nie autorytatywny 203 Przeterminowanie bramy 504 Wzbroniony 403 Przyjęty 202 Usługa niedostępna 503 Wymagana opłata 402 Utworzony 201 Zła brama 502 Nieautoryzowany 401 OK 200 Nieobsługiwany typ nośnika 415 Złe żądanie 400 Przełączanie protokołów 101 URI żądania zbyt duży 414 Readresowanie tymczasowe 307 Kontynuuj 100 Komunikat Kod stanu Komunikat Kod stanu Komunikat Kod stanu
Transakcja webowa.  Paweł Łukasik 166761@student.pwr.wroc.pl ,[object Object],1. Statyczne, 2. Dynamiczne, 3. Bazodanowe 4. Aplikacji (Rich Client Asynchronus) Transakcje:
Transakcja webowa.  Paweł Łukasik 166761@student.pwr.wroc.pl Transakcje statyczne.
Transakcja webowa.  Paweł Łukasik 166761@student.pwr.wroc.pl Transakcje dynamiczne.
Transakcja webowa.  Paweł Łukasik 166761@student.pwr.wroc.pl Transakcje bazodanowe.
Transakcja webowa.  Paweł Łukasik 166761@student.pwr.wroc.pl Transakcje Aplikacji (Rich Client Asynchronus)
Wydajność i niezawodność usługi WWW.  Paweł Łukasik 166761@student.pwr.wroc.pl Bezpieczeństwo w środowisku internetowym
Bibliografia.  Paweł Łukasik 166761@student.pwr.wroc.pl Strony www: http://itpedia.pl/index.php/Web_services http://itpedia.pl/index.php/Klient-Serwer http://itpedia.pl/index.php/Dostęp_do_zasobów:_identyfikacja,_uwierzytelnianie_i_autoryzacja http://edu.pjwstk.edu.pl/wyklady http://pl.wikipedia.org/wiki/Protokoły_komunikacyjne http://pl.wikipedia.org/wiki/Hypertext_Transfer_Protocol http://www.users.pjwstk.edu.pl/~s3452/prezentacja/html/http.html http://www.securitum.pl/baza-wiedzy/publikacje/audyt-bezpieczenstwa-aplikacji-www http://www.securitum.pl/baza-wiedzy/publikacje/testy-penetracyjne-aplikacji-www http://www.slideshare.net/fulvio.corno/web-transactions

More Related Content

Featured

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

Systemy webowe. Protokół http. Transakcja webowa.

  • 1. PROTOKÓŁ HTTP. TRANSAKCJA WEBOWA. WYDAJNOŚĆ I NIEZAWODNOŚĆ USŁUGI WWW.
  • 2.
  • 3.
  • 4. Protokół HTTP. Paweł Łukasik 166761@student.pwr.wroc.pl Metody HTTP: GET HEAD PUT POST DELETE OPTIONS TRACE CONNECT
  • 5. Protokół HTTP. Paweł Łukasik 166761@student.pwr.wroc.pl
  • 6. Protokół HTTP. Paweł Łukasik 166761@student.pwr.wroc.pl Kody stanu i komunikaty protokołu HTTP Jednostka żądania zbyt duża 413 Użyj proxy 305 Nieobsługiwana wersja HTTP 505 Warunek wstępny nie powiódł się 412 Nie zmodyfikowany 304 Przeterminowanie bramy 504 Wymagana długość 411 Zobacz inny 303 Usługa niedostępna 503 Minęło 410 Znaleziony 302 Zła brama 502 Konflikt 409 Przeniesiony na stałe 301 Nie zaimplementowany 501 Przeterminowanie żądania 408 Wiele opcji 300 Wewnętrzny błąd serwera 500 Wymagane uwierzytelnienie proxy 407 Treść częściowa 206 Oczekiwanie nie powiodło się 417 Nie do przyjęcia 406 Resetuj treść 205 Żądany zakres nie do spełnienia 416 Metoda niedozwolona 405 Bez treści 204 Nieobsługiwana wersja HTTP 505 Nie znaleziony 404 Nie autorytatywny 203 Przeterminowanie bramy 504 Wzbroniony 403 Przyjęty 202 Usługa niedostępna 503 Wymagana opłata 402 Utworzony 201 Zła brama 502 Nieautoryzowany 401 OK 200 Nieobsługiwany typ nośnika 415 Złe żądanie 400 Przełączanie protokołów 101 URI żądania zbyt duży 414 Readresowanie tymczasowe 307 Kontynuuj 100 Komunikat Kod stanu Komunikat Kod stanu Komunikat Kod stanu
  • 7.
  • 8. Transakcja webowa. Paweł Łukasik 166761@student.pwr.wroc.pl Transakcje statyczne.
  • 9. Transakcja webowa. Paweł Łukasik 166761@student.pwr.wroc.pl Transakcje dynamiczne.
  • 10. Transakcja webowa. Paweł Łukasik 166761@student.pwr.wroc.pl Transakcje bazodanowe.
  • 11. Transakcja webowa. Paweł Łukasik 166761@student.pwr.wroc.pl Transakcje Aplikacji (Rich Client Asynchronus)
  • 12. Wydajność i niezawodność usługi WWW. Paweł Łukasik 166761@student.pwr.wroc.pl Bezpieczeństwo w środowisku internetowym
  • 13. Bibliografia. Paweł Łukasik 166761@student.pwr.wroc.pl Strony www: http://itpedia.pl/index.php/Web_services http://itpedia.pl/index.php/Klient-Serwer http://itpedia.pl/index.php/Dostęp_do_zasobów:_identyfikacja,_uwierzytelnianie_i_autoryzacja http://edu.pjwstk.edu.pl/wyklady http://pl.wikipedia.org/wiki/Protokoły_komunikacyjne http://pl.wikipedia.org/wiki/Hypertext_Transfer_Protocol http://www.users.pjwstk.edu.pl/~s3452/prezentacja/html/http.html http://www.securitum.pl/baza-wiedzy/publikacje/audyt-bezpieczenstwa-aplikacji-www http://www.securitum.pl/baza-wiedzy/publikacje/testy-penetracyjne-aplikacji-www http://www.slideshare.net/fulvio.corno/web-transactions

Editor's Notes

  1. Systemy webowe. Temat : Protokół HTTP. Transakcja webowa. Wydajność i niezawodność usługi WWW. Opracowanie : Paweł Łukasik, 166761@student.pwr.wroc.pl
  2. Zacznijmy od tego czym jest protokół? W najbardziej ogólnym sensie jest to zestaw regół umożliwiających porozumienie. Natomiast w sensie technicznym jest to ścisła specyfikacja automatycznych działań jakie podejmują urządzenia komunikacyjne takie jak : faksy, modemy, komputery, itp. aby ustanowić między sobą połączenie a następnie móc przekazywać dane. Dzięki temu, ż e połączenia odbywają się całkowicie automatycznie, użytkownicy nie muszą o nich nic wiedzieć. Protokoły służące do komunikowanie się przez internet są określone przez IETF(Internet Engineering Task Force) w dokumentach RFC (Request for Comments). Co oznacza HTTP ? Gdzie można znaleźć definicję protokołu http ? HTTP (ang. Hypertext Transfer Protocol) to protokół sieci WWW (ang. World Wide Web). Obecną definycję można znaeżć w RFC 2616.
  3. Jak to się dzieje ? Za pomocą protokołu HTTP przesyła się żądania udostępnienia dokumentów WWW i informacje o kliknięciu odnośnika oraz informacje z formularzy. Zadaniem stron WWW jest publikowanie informacji - natomiast protokół HTTP właśnie to umożliwia. Protokół HTTP określa formę żądań klienta dotyczących danych oraz formę odpowiedzi serwera na te żądania. Jest zaliczany do protokołów bezstanowych (ang. stateless) z racji tego, że nie zachowuje żadnych informacji o poprzednich transakcjach z klientem (po zakończeniu transakcji wszystko "przepada"). Pozwala to znacznie zmniejszyć obciążenie serwera, jednak jest kłopotliwe w sytuacji, gdy np. trzeba zapamiętać konkretny stan dla użytkownika, który wcześniej łączył się już z serwerem. Częstym rozwiązaniem tego problemu jest wprowadzenie mechanizmu cookies. Inne podejścia to m.in. sesje po stronie serwera.
  4. Interakcja przeglądarki z serwerem WWW odbywa się według modelu bezpołączeniowego: (1)żądanie jest wysyłane przez klienta, (2)Serwer przekazuje (zawsze z inicjatywy klienta) żądane zasoby lub informacja o ich niedostępności, (3)połączenie zostaje zamknięte. Protokół określa format żądania oraz odpowiedzi. Należy podkreślić, że zakres funkcjonalności protokołu HTTP znacząco wykracza poza samo pobieranie zasobów znajdujących się na serwerze. Między innymi, projektanci przewidzieli obsługę poprzez żądania HTTP pełnego zestawu operacji "CRUD" (czyli Create, Retrieve, Update, Delete ), definiując odpowiednie metody żądań: GET — pobiera informacje (w formie jednostki) zidentyfikowane przez URI, do którego zostało zgłoszone żądanie. Jeżeli URI zidentyfikuje proces wytwarzający dane, to wytworzone dane zostaną zwrócone jako jednostka. Warunkowy komunikat GET zawiera pole nagłówka If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, lub If-Range. Pozwala to na odświeżanie buforowanych jednostek bez potrzeby wielokrotnego przesyłu, czy żądania danych, które są już w posiadaniu klienta. GET częściowy żąda, aby przesłana została tylko część jednostki, określona przez pole nagłówka Range. HEAD — identyczny z GET, z tym że serwer nie zwraca w odpowiedzi treści komunikatu. Metoda ta uzyskuje informacje dotyczące jednostki nie przesyłając samej treści jednostki i jest wykorzystywana do testowania ważności, dostępności oraz niedawnych modyfikacji łączy hipertekstowych. PUT — żąda, aby jednostka załączona w żądaniu została zapamiętana pod URI, do którego zostało zgłoszone żądanie. Jeżeli dany zasób wspomniany w URI już istnieje, to przesyłaną jednostkę uznaje się za wersję zmodyfikowaną. Jeżeli URI nie wskazuje na istniejący zasób, a żądający użytkownik może zdefiniować URI jako nowy zasób, to zasób jest tworzony na serwerze. POST — żąda, aby serwery przyjmowały jednostkę załączoną w żądaniu, jako nowego podwładnego zasobu zidentyfikowanego przez URI, do którego zostało zgłoszone żądanie (podobnie, jak mówi się, że plik umieszczony w katalogu jest nowym podwładnym tego katalogu). POST jest wykorzystywany do przypisywania zasobów, do wysyłania komunikatów (na przykład do elektronicznego biuletynu informacyjnego), do przedkładania danych formularzy oraz do rozszerzania bazy danych poprzez operację dołączania. Funkcja pełniona przez metodę POST określana jest przez serwer i zazwyczaj jest uzależniona od URI. DELETE — żąda, aby serwer usunął zasób zidentyfikowany przez URI. OPTIONS — pozwala klientowi ustalić opcje i/lub wymagania związane z danym zasobem, albo możliwości danego serwera, nie implikując działań zasobu i nie inicjując pobierania zasobu. TRACE — wywołuje zdalną pętlę zwrotną komunikatu żądania. Ostateczny odbiorca żądania odbija otrzymany komunikat z powrotem do klienta. TRACE pozwala klientowi zobaczyć co jest odbierane na drugim końcu łańcucha żądania. Informacja ta może być wykorzystywana do testowania, lub znajdywania uszkodzeń. CONNECT — nazwa metody zarezerwowana do wykorzystywania wraz z proxy, który może dynamicznie przełączyć się na pełnienie funkcji tunelu, przy użyciu, na przykład, tunelowania z wykorzystaniem warstwy zabezpieczeń łączy (SSL). Proxy to program pośredniczący, pełniący zarówno funkcję serwera, jak i klienta, w celu zgłaszania żądań w imieniu innych klientów. (Metoda CONNECT nie jest częścią standardu HTTP/1.1, jednak jest powszechnie implementowana na podstawie dokumentu internet-draft wygasłego w 1999 roku ) Przykład zapytania i odpwiedzi w protokole HTTP.
  5. Przykład zapytania i odpwiedzi w protokole HTTP.
  6. Kody stanu HTTP są wykorzystywane przez metody podczas normalnej pracy, albo wysyłane do użytkownika, jeżeli wystąpi błąd. Jest pięć klasyfikacji kodów stanu: Informacyjny (1xx) — sygnalizuje prowizoryczną (zazwyczaj pośrednią) odpowiedź. Te kody wskazują, że dana metoda przebiega normalnie i miało miejsce oczekiwane zdarzenie. Jeżeli serwer protokołu HTTP 1.1 wykryje klienta protokołu HTTP 1.0, to nie będzie wysyłał komunikatów informacyjnych, ponieważ nie są one zdefiniowane dla HTTP 1.0. Pomyślny (2xx) — sygnalizuje, że żądanie klienta zostało pomyślnie otrzymane, zrozumiane i przyjęte. Readresowanie (3xx) — sygnalizuje, że agent użytkownika musi podjąć dalsze działania, aby spełnić żądanie. Działania te mogą być przeprowadzane automatycznie przez agenta użytkownika (jeżeli wykorzystywaną metodą jest GET, lub HEAD) albo mogą wymagać interwencji użytkownika. Błąd klienta(4xx) — sygnalizuje, że występuje, lub wydaje się, że występuje, błąd klienta. Za wyjątkiem przypadku odpowiadania na żądanie HEAD, komunikat zawiera wyjaśnienie błędu i informuje użytkownika, czy jest on tymczasowy, czy stały. Błąd serwera (5xx) — sygnalizuje, że serwer zdaje sobie sprawę, iż wygenerował błąd, albo że nie jest w stanie wykonać żądania. Za wyjątkiem przypadku odpowiadania na żądanie HEAD, komunikat zawiera wyjaśnienie błędu i informuje użytkownika, czy jest on tymczasowy, czy stały.
  7. Czym są transakcje webowe ? Jeżeli przeanalizujemy technologie jakie są obecnie używane to możemy wyróżnić kilka głównych grup: Serwisy statyczno-informacyjne, Dynamiczne i interaktywne, Zintegrowane Zorientowane na aplikacje (Rich Client Asynchronus)
  8. Transakcje statyczne adobtują takie standardy jak: URL (uniform resource locator) - do odnajdywania stron internetowych. HTML – do pisania dokumentów. GIF/JPEG/PNG – do publikowania obrazów. HTTP – do interakcji klient/serwer TCP/IP – do przesyłu danych
  9. Transakcje dynamiczne adobtują takie standardy jak: HTTP-POST – do przesyłania danych użytkownika, CGI (Common Gateway Interface), ISAPI (Internet Information Server Application Programming Interface), Server-Side script java servlet do zintegrowania logiki biznesowej na serwerze. 3.ASP (Active Server Pages) PHP, PERL – jako nowe języki do tworzenia aplikacji webowych
  10. Transakcje bazodanowe adobtują takie standardy jak: Cookies – do przechowywania stanu sesji, Java, Java-Script, ActiveX, Flash – do programowania interfejsów użytkownika w przeglądarce, SQL (Structured Query Language), ODBC (Open DataBase Connectivity) – celem dostępu do bazy danych.
  11. Transakcje aplikacji adobtują takie standardy jak: Dynamiczny HTML : DOM, JavaScript, CSS - JavaScript, Flash (ActionScript) – do obsługi środowiska strony w przeglądarce - DOM (XHTML Document Object Model) – do obsługi modyfikacji na stronie wywyołanych przez użytkownika w locie, - CSS 2.1 – do modyfikowania atrybutów i obługi obiektów 2. AJAX : Asynchronus Javascript and XML - XMLHttpRequest – do komunikacji asynchronicznej z serwerem - Formaty przenoszonych danych : JSON(JavaScript Object Notation), XML, RSS, ...
  12. Stuprocentowe zabezpieczenie systemu wymagałoby fizycznego odizolowania go od wszelkich potencjalnych intruzów. W wypadku oprogramowania działającego w Internecie z założenia trzeba ów dostęp dopuścić. Dla aplikacji internetowych należy wyróżnić trzy elementy wraz ze specyficznymi dlań rodzajami zagrożeń: - Serwer - Komputer klienta - Łącze sieciowe Analizując zagrożenia należy uwzględnić zarówno niedoskonałości techniczne wykorzystywanych rozwiązań jak i czynnik ludzki. Zagrożenia po stronie serwera mogą wynikać z: - Niedoskonałości oprogramowania serwera (luki w bezpieczeństwie) - Niewłaściwej jego konfiguracji - Nieprzemyślanych rozwiązań w kodzie stron WWW Ryzyko ograniczy wyłączenie wszelkich nieużywanych opcji. Np. starsze rozwiązania technologii dynamicznych jak np. CGI uchodzą za szczególnie podatne na powstawanie takich luk. Jeśli nasza aplikacja ich nie wykorzystuje - warto wyłączyć ich wsparcie w konfiguracji serwera WWW. Podstawowym zagrożeniem po stronie serwera jest nieuprawniony dostęp do danych zgromadzonych przez aplikację WWW. Istotnym sposobem ochrony serwera pracującego na potrzeby sieci wewnętrznej jest użycie zapory (firewall). Należy pamiętać o aktualizacjach oprogramowania, celem łatania znanych luk (informacje o nich są upowszechniane, z czego mogą skorzystać także intruzi!). Dotyczy to zarówno bezpieczeństwa serwera jak i oprogramowania klienta.