protokoly http a ftp
DESCRIPTION
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) - PowerPoint PPT PresentationTRANSCRIPT
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)
Protokol HTTP
HyperText Transfer Protocol
4
HTTP protokol
Server
požiadavka
požadované dáta
Klient
Celý prenos je založený na požiadavkách klienta a odpovediach servera. Server beží na porte 80.
Port 80
5
Najskôr sa stiahne HTML stránka. Keď prehliadač zistí, aké obrázky je potrebné stiahnuť, stiahne aj tie.
HTTP protokol
ServerKlient
6
Požiadavka
Vytvorenie spojenia
GET <súbor>
Zobrazí odpoveďUkončí spojenie
OK
Pošle správu – OK alebo chybu
OK
Klient 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.0Host: 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
Server
požiadavka
požadované dáta
Klient
Celý prenos je založený na požiadavkách klienta a odpovediach servera. Server beží na porte 80.
Port 443
šifrovanie
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
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
Server
Riadenie
DátaKlient
Existujú 2 kanály medzi klientom a serverom: jeden slúži na riadenie, druhý na prenos dát.
28
FTP prenos
Upload data
Download data
Port 20
Port 21Command/response
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.
ClientServer
20 21 1026 1027
1
2
3
4
Príkazy
Dáta
Server sa pripojí na klienta a ten mu pošle dáta
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.
ClientServer
20 21 1026 1027
1
2
2024
3
4
Príkazy
Dáta
Klient sa pripojí na server a ten mu pošle dáta (resp. prijme)
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árRMD meno_adresara – zmaže adresárCDUP - presun o adresár vyššieCWD - zmena adresára
RNFR starynazov – premenovanie na nový názovRNTO novynazov
37
Základné príkazy – práca so súbormi
Uloženie a stiahnutie súboru
STOR nazovsuboru – uloží súborRETR nazovsuboru – stiahne súbor
Tieto príkazy sú vždy spojené s:PORT – server sa pripojí na užívateľom definovaný portPASV – 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
Server sa pripojí na klienta a pošle mu súbor
Port 21PORT
RETR
PORT 192,168,0,1,10,30 - cislo portu = 10*256+30 = 2590
RETR subor
192.168.0.1
192.168.0.2
40
FTP prenos – pasívny mód
Klient sa pripojí na server a stiahne si súbor
Port 21PASV
RETR subor
PASV - server oznámi, kam sa má užívateľ pripojiť
RETR subor - server sa pripojí a zašle dáta
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
príkazy
192.168.0.1192.168.0.254 – 1.2.3.4
Server
221.3.4.18
Firewall
dáta
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.