wielkie protokoły wielkich ludzi
TRANSCRIPT
![Page 1: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/1.jpg)
Wielkie protokoły wielkich ludzi
![Page 2: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/2.jpg)
Uszanowanko!
![Page 3: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/3.jpg)
![Page 4: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/4.jpg)
Sponsorują:
![Page 5: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/5.jpg)
TwórcaSir Timothy Berners-Lee● Brytyjski fizyk i programista● Absolwent Oxford● Twórca WWW● Przewodniczący World Wide Web Consortium (W3C)● Rycerz
![Page 6: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/6.jpg)
Duck tape
![Page 7: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/7.jpg)
Spis treści● Co to jest HTTP● Metody HTTP● Cookies● Nagłówki● Przykłady zapytań● Live demo
![Page 8: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/8.jpg)
HTTP =
Hypertext Transfer Protocol
![Page 9: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/9.jpg)
HTTP? Na co to komu?● Przesyłanie hipertekstu● Normalizacja sposobu komunikacji komputerów● Na żądanie klienta zwraca odpowiedź z serwera● Bezstanowy● port 80
![Page 10: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/10.jpg)
Z czego składa się wiadomość?● [Metoda] [URI] [Protokół] (np. “GET / HTTP/1.0”)● Nagłówki● Pusta linia● Body (opcjonalnie)
Odpowiedź ma w pierwszej linii status (np. “HTTP/1.1 200 OK”).
![Page 11: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/11.jpg)
Przykładowe zapytanie HTTP
![Page 12: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/12.jpg)
Przykładowa odpowiedź HTTP
![Page 13: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/13.jpg)
Metody HTTPGET, HEAD, PUT, POST, DELETE, OPTIONS, TRACE, CONNECT (1.0), PATCH
![Page 14: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/14.jpg)
GET● Zapytanie o konkretny zasób sieciowy● Powinien tylko pobierać dane, bez zmiany stanu.● Zapytanie nie ma body
![Page 15: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/15.jpg)
HEAD● Zapytanie o konkretny zasób sieciowy, bez zwracania jego
zwartości.● Powinien tylko pobierać dane, bez zmiany stanu.● Zapytanie i odpowiedź nie mają body.
![Page 16: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/16.jpg)
PUT● Umieszczenie pełnej encji pod konkretnym URI (jeżeli już
istnieje zostanie nadpisany).● Niekeszowalne.
![Page 17: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/17.jpg)
POST● Umieszczenie encji jako podwładnej konkretnemu URI (np. nowy
post na forum).
![Page 18: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/18.jpg)
DELETE● … serio? ;-)● Zapytanie nie ma body● Niekeszowalne.
![Page 19: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/19.jpg)
TRACE● Zwraca nam treść zapytania.● Możemy sprawdzić, czy kanał komunikacyjny jest spójny.● Zapytanie nie ma body.● Niekeszowalne.
![Page 20: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/20.jpg)
OPTIONS● Zwraca nam listę metod HTTP, które są dozwolone na danym
URI● Zapytanie nie ma body.● Niekeszowalne.
![Page 21: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/21.jpg)
CONNECT● Metoda używana do zestawiania tunelu (np. ssl) przez zwykly
protokół HTTP. ● Nie istnieje w HTTP 1.1 ● (i tak jest implementowana ponieważ taśma klejąca)● Niekeszowalne.
![Page 22: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/22.jpg)
PATCH● Aktualizacja części encji, umieszczonej pod URI
![Page 23: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/23.jpg)
Cookies?● Służą identyfikacji użytkownika● mogą przechowywać informacje o sesji● są wysyłane do serwera przy każdym zapytaniu● usuwają bez z “bezstanowości”.
![Page 24: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/24.jpg)
Ustawianie cookieSerwer zwraca nagłówek set-cookie:
Set-Cookie:NID=e7617586147a456489a5de15d65409f9; expires=Sat, 12-Nov-2016 16:17:34 GMT; path=/; domain=.google.com; HttpOnly
![Page 25: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/25.jpg)
Wysyłanie cookiesPrzeglądarka wysyła nagłówek:
cookie:NID=e7617586147a456489a5de15d65409f9
![Page 26: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/26.jpg)
Sesje● Powiązanie kilku wiadomości w dialog● W praktyce realizowane poprzez ustawienie cookie● W przypadku PHP - phpsessid
![Page 27: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/27.jpg)
Pragma: no-cache● HTTP/1.0● Prośba przeglądarki o zwrócenie aktualnej wersji dokumentu● Zdefiniowane wyłącznie dla zapytań!● Legacy, legacy, legacy
![Page 28: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/28.jpg)
Cache-control w zapytaniach● Cache-control: public tylko publiczne cache● Cache-control: private tylko prywatne cache● Cache-control: no-cache nie wolno cachować● Cache-control: no-store nie wolno archiwizować
![Page 29: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/29.jpg)
Cache-control w odpowiedziach● Cache-control: no-store nie wolno zapisać na dysk● Cache-control: no-cache nie zapisuj do cache● Cache-control: must-revalidate trzeba sprawdzać aktualność ● Cache-control: max-age=1 cache na sekundę
![Page 30: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/30.jpg)
Expires● Expires: Thu, 01 Dec 1994 16:00:00 GMT● jeżeli max-age jest zdefiniowany, to Expires jest nadpisywany,
nawet jeżeli jest bardziej restrykcyjny
![Page 31: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/31.jpg)
HTTP return codes● 1xx - informacyjny (Continue)● 2xx - sukces (OK/CREATED/ACCEPTED)● 3xx - przekierowanie (301 MOVED PERMANENTLY/302 FOUND)● 4xx - błąd klienta (PAYMENT REQUIRED/NOT
FOUND/FORBIDDEN)● 5xx - bład serwera (INTERNAL SERVER ERROR)
![Page 32: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/32.jpg)
Connection: keep-alive● zezwala na wiele zapytań HTTP w jednym połączeniu TCP w
HTTP/1.0● w HTTP/1.1 działa od strzała
![Page 33: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/33.jpg)
“Pierwsza zasada live demo: nigdy nie rób live demo”
~ Tyler Durden, Fight Club
![Page 34: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/34.jpg)
![Page 35: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/35.jpg)
Teraz będzie live demo....
![Page 36: Wielkie protokoły wielkich ludzi](https://reader033.vdocuments.mx/reader033/viewer/2022051521/586fd9511a28ab18428b5965/html5/thumbnails/36.jpg)
Dziękuję za uwagę.