1 / 42

Protokoly HTTP a FTP

Protokoly HTTP a FTP. Na čo sa dané protokoly využívajú. HTTP - prenos stránok, obrázkov a súborov. Tento protokol slúži ako základný kameň pre Internet (RFC 1945)

nira
Télécharger la présentation

Protokoly HTTP a FTP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Protokoly HTTP a FTP

  2. Na čo sa dané protokoly využívajú • HTTP - prenos stránok, obrázkov a súborov. Tento protokol slúži ako základný kameň pre Internet (RFC 1945) • FTP slúži na prenos súborov. V počiatkoch fungoval ako „adresárová“ služba, ktorá ponúkala súbory pre všetkých návštevníkov (RFC 959)

  3. Protokol HTTP HyperText Transfer Protocol

  4. HTTP protokol Celý prenos je založený na požiadavkách klienta a odpovediach servera. Server beží na porte 80. Port 80 požiadavka požadované dáta Klient Server

  5. HTTP protokol Najskôr sa stiahne HTML stránka. Keď prehliadač zistí, aké obrázky je potrebné stiahnuť, stiahne aj tie. Klient Server

  6. OK Pošle správu – OK alebo chybu OK Požiadavka Klient Vytvorenie spojenia GET <súbor> Zobrazí odpoveď Ukončí spojenie Server

  7. HTTP protokol • Pri každej požiadavke je nutné vykonať pripojenie na server a až potom preniesť dáta • Všetky požiadavky a odpovede sú v čitateľnom textovom formáte • Klient uvádza, o čo má záujem (stránka, obrázok, ...) a server mu to posiela

  8. HTTP protokol - požiadavka • Klient sa pripojí na server (www.zoznam.sk, port 80) a pošle požiadavku: GET /index.html HTTP/1.0 Host: www.zoznam.sk (prázdny riadok)

  9. HTTP protokol - požiadavka • GET /index.html • Názov súboru • HTTP/1.0 • Verzia protokolu • Host: www.zoznam.sk • Označenie servera, odkiaľ požaduje dáta

  10. HTTP protokol - odpoveď • Server pošle naspäť HTTP/1.0 200 OK Server: Apache Content-Type: text/html Content-Length: 1237 ...........tu nasledujú dáta

  11. HTTP protokol - odpoveď • HTTP/1.0 • Verzia protokolu • 200 • Kód odpovede (v tomto prípade OK) • OK • Kód odpovede slovne

  12. HTTP protokol - odpoveď • Server: Apache • Serverovský program, ktorý vrátil dáta • Content-Type: text/html • Typ vrátených dát • Content-Length: 1237 • Dĺžka dát

  13. Príklad • Klient sa pripojil na lm.uniza.sk • Vyžiadal si súbor pre hlavnú stránku • Úlohou je zistiť, aké hlavičky sa zaslali

  14. Klient – Server(dotaz)

  15. Ďalšie hlavičky • User-Agent: informácie o prehliadači • Accept: aké typy dokumentov môže klient prijať • Accept-Language: aké jazyky klient podporuje (ak má server k dispozícii viac jazykových verzií)

  16. Ďalšie hlavičky • Accept-Encoding: typ kompresie • Accept-Charset: typ znakovej sady • Keep-Alive a Connection: doba životnosti spojenia

  17. Server – Klient (odpoveď)

  18. Ďalšie hlavičky • Date: dátum dokumentu • Server: typ servera • X-Powered-By: aký skriptovací jazyk je použitý – PHP, ASP ...

  19. Ďalšie hlavičky • Expires: kedy vyprší platnosť odpovede. Keď vyprší, klient si pri ďalšej požiadavke požiada novú verziu • Cache-Control: určuje, či sa majú dokumenty ukladať v cache • Vary: v prípade proxy sa má ukladať skomprimovaná aj pôvodná verzia

  20. Ďalšie hlavičky • Content-Encoding: typ kódovania, resp. kompresie • Content-Length: dĺžka odpovede v B

  21. Ďalšie hlavičky • Connection: ak je Keep-alive, môžu nasledovať ďalšie dotazy/odpovede • Content-Type: typ odpovede, text/html je HTML stránka • Content-encoded entity body: informácia o dĺžke pred a po kompresii

  22. Nevýhody HTTP • Nevýhodou HTTP je to, že je nešifrovaný • V prípade citlivých dát sa používa HTTPS, pričom sa ale celá komunikácia šifruje. • Pre prenos dát sa nepoužíva port 80, ale 443.

  23. Zabezpečený HTTP protokol Celý prenos je založený na požiadavkách klienta a odpovediach servera. Server beží na porte 80. Port 443 požiadavka šifrovanie požadované dáta Klient Server

  24. SSL (Secure Socket Layer) • Pred samotným prenosom dát si server a klient najskôr vymenia kľúče, ktorými sa bude šifrovať. • Po ich výmene sa všetky dáta zasielajú šifrované symetrickými šiframi

  25. Protokol FTP File Transfer Protocol

  26. FTP protokol – načo slúži • FTP – File transfer protocol • Prenos súborov a adresárov • Ovládanie – hlavný program beží na porte 21 • Prenos dát – uskutočňuje sa cez port 20

  27. FTP protokol Existujú 2 kanály medzi klientom a serverom: jeden slúži na riadenie, druhý na prenos dát. Riadenie Dáta Klient Server

  28. FTP prenos Port 21 Command/response Upload data Port 20 Download data

  29. Príkazy v FTP Užívateľské príkazy Užívateľsky „príjemné“ Príkazy klient / server Zahrňujú aj nízkoúrovňové príkazy, napr. nastavenie portu aťd. Sú zložitejšie

  30. Módy činnosti • Aktívny mód – ak je potrebný prenos dát, server sa pripojí na užívateľa a sám odošle/prijme súbor • Pasívny mód – pri prenose dát sa užívateľ pripojí na server a odošle/prijme dáta

  31. Aktívny mód FTP • Klient sa pripojí na server na port 21. Potom požiada napríklad o prenos súboru. Následne sa server pripojí na klienta (z portu 20) a prenesie súbor od neho, resp. k nemu. Server Client 20 21 1026 1027 1 Príkazy 2 Dáta Server sa pripojí na klienta a ten mu pošle dáta 3 4

  32. Pasívny mód FTP • Klient sa pripojí na server na port 21. Potom požiada napríklad o prenos súboru. Následne sa klient pripojí na server (na port, ktorý mu bol oznámený serverom) a prenesie súbor od neho, resp. k nemu. Server Client 20 2024 21 1026 1027 1 Príkazy 2 Dáta Klient sa pripojí na server a ten mu pošle dáta (resp. prijme) 3 4

  33. Základné príkazy – zadávané priamo serveru • user / pass • list • mkd / rmd • rnfr / rnto • stor / retr • port (127,0,0,1,10,30) – pripojenie na port 2590 • pasv

  34. Základné príkazy – zadávané v FTP klientovi • help • open • ls • ascii / binary • cd / lcd • mkdir / rmdir • put / get

  35. Základné príkazy - autentifikácia • Klient pošle serveru USER jozef PASS heslo V prípade úspechu je užívateľ oprávnený ďalej pracovať so súbormi

  36. Základné príkazy – práca s adresármi • Klient pošle serveru MKD meno_adresara – vytvorí adresár RMD meno_adresara – zmaže adresár CDUP - presun o adresár vyššie CWD - zmena adresára RNFR starynazov – premenovanie na nový názov RNTO novynazov

  37. Základné príkazy – práca so súbormi • Uloženie a stiahnutie súboru STOR nazovsuboru – uloží súbor RETR nazovsuboru – stiahne súbor • Tieto príkazy sú vždy spojené s: PORT – server sa pripojí na užívateľom definovaný port PASV – klient sa pripojí na serverom definovaný port

  38. Prenos dát • Ďalej bude uvedený príklad na prenos dát zo serveru ku klientovi • Pri aktívnom móde klient oznámi serveru, kde mu má poslať dáta • Pri pasívnom móde sa klient pripojí na server a dáta prijme zo serveru

  39. FTP prenos – aktívny mód PORT 192,168,0,1,10,30 - cislo portu = 10*256+30 = 2590 RETR subor Port 21 PORT RETR Server sa pripojí na klienta a pošle mu súbor 192.168.0.1 192.168.0.2

  40. FTP prenos – pasívny mód PASV - server oznámi, kam sa má užívateľ pripojiť RETR subor - server sa pripojí a zašle dáta Port 21 PASV RETR subor Klient sa pripojí na server a stiahne si súbor 192.168.0.1 192.168.0.2

  41. Nevýhody FTP • Ak je klient vo vnútornej sieti, kde sa používa iné adresovanie, server sa na neho nemôže pripojiť za účelom prenosu dát – tzn. je možný len pasívny režím • V pasívnom režime sa klient vždy pripojí na server a prenesie dáta

  42. Nevýhody FTP Ak by sa použil aktívny režím, tak pri prenose súborov by sa server pripájal na adresu 192.168.0.1. Keďže je ale dané PC za firewallom, tak sa mu to nepodari. V tomto prípade je teda nutné použiť pasívny režim. Server príkazy dáta 192.168.0.1 192.168.0.254 – 1.2.3.4 221.3.4.18 Firewall

More Related