430 likes | 602 Views
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)
E N D
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)
Protokol HTTP HyperText Transfer Protocol
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
HTTP protokol Najskôr sa stiahne HTML stránka. Keď prehliadač zistí, aké obrázky je potrebné stiahnuť, stiahne aj tie. Klient Server
OK Pošle správu – OK alebo chybu OK Požiadavka Klient Vytvorenie spojenia GET <súbor> Zobrazí odpoveď Ukončí spojenie Server
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
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)
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
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
HTTP protokol - odpoveď • HTTP/1.0 • Verzia protokolu • 200 • Kód odpovede (v tomto prípade OK) • OK • Kód odpovede slovne
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
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
Ď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í)
Ďalšie hlavičky • Accept-Encoding: typ kompresie • Accept-Charset: typ znakovej sady • Keep-Alive a Connection: doba životnosti spojenia
Ďalšie hlavičky • Date: dátum dokumentu • Server: typ servera • X-Powered-By: aký skriptovací jazyk je použitý – PHP, ASP ...
Ď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
Ďalšie hlavičky • Content-Encoding: typ kódovania, resp. kompresie • Content-Length: dĺžka odpovede v B
Ď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
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.
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
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
Protokol FTP File Transfer Protocol
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
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
FTP prenos Port 21 Command/response Upload data Port 20 Download data
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
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
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
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
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
Základné príkazy – zadávané v FTP klientovi • help • open • ls • ascii / binary • cd / lcd • mkdir / rmdir • put / get
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
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
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
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
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
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
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
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