protokoly http a ftp

42
Protokoly HTTP a FTP

Upload: nira

Post on 12-Jan-2016

72 views

Category:

Documents


4 download

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 Presentation

TRANSCRIPT

Page 1: Protokoly HTTP a FTP

Protokoly HTTP a FTP

Page 2: 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)

Page 3: Protokoly HTTP a FTP

Protokol HTTP

HyperText Transfer Protocol

Page 4: Protokoly HTTP a FTP

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

Page 5: Protokoly HTTP a FTP

5

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

HTTP protokol

ServerKlient

Page 6: Protokoly HTTP a FTP

6

Požiadavka

Vytvorenie spojenia

GET <súbor>

Zobrazí odpoveďUkončí spojenie

OK

Pošle správu – OK alebo chybu

OK

Klient Server

Page 7: Protokoly HTTP a FTP

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

Page 8: Protokoly HTTP a FTP

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)

Page 9: Protokoly HTTP a FTP

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

Page 10: Protokoly HTTP a FTP

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

Page 11: Protokoly HTTP a FTP

11

HTTP protokol - odpoveď

HTTP/1.0 – Verzia protokolu

200 – Kód odpovede (v tomto prípade OK)

OK– Kód odpovede slovne

Page 12: Protokoly HTTP a FTP

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

Page 13: Protokoly HTTP a FTP

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

Page 14: Protokoly HTTP a FTP

14

Klient – Server(dotaz)

Page 15: Protokoly HTTP a FTP

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í)

Page 16: Protokoly HTTP a FTP

16

Ďalšie hlavičky

Accept-Encoding: typ kompresie

Accept-Charset: typ znakovej sady

Keep-Alive a Connection: doba životnosti spojenia

Page 17: Protokoly HTTP a FTP

17

Server – Klient (odpoveď)

Page 18: Protokoly HTTP a FTP

18

Ďalšie hlavičky

Date: dátum dokumentu

Server: typ servera

X-Powered-By: aký skriptovací jazyk je použitý – PHP, ASP ...

Page 19: Protokoly HTTP a FTP

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

Page 20: Protokoly HTTP a FTP

20

Ďalšie hlavičky

Content-Encoding: typ kódovania, resp. kompresie

Content-Length: dĺžka odpovede v B

Page 21: Protokoly HTTP a FTP

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

Page 22: Protokoly HTTP a FTP

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.

Page 23: Protokoly HTTP a FTP

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

Page 24: Protokoly HTTP a FTP

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

Page 25: Protokoly HTTP a FTP

Protokol FTP

File Transfer Protocol

Page 26: Protokoly HTTP a FTP

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

Page 27: Protokoly HTTP a FTP

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.

Page 28: Protokoly HTTP a FTP

28

FTP prenos

Upload data

Download data

Port 20

Port 21Command/response

Page 29: Protokoly HTTP a FTP

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

Page 30: Protokoly HTTP a FTP

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

Page 31: Protokoly HTTP a FTP

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

Page 32: Protokoly HTTP a FTP

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)

Page 33: Protokoly HTTP a FTP

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

Page 34: Protokoly HTTP a FTP

34

Základné príkazy – zadávané v FTP klientovi

help open ls ascii / binary cd / lcd mkdir / rmdir put / get

Page 35: Protokoly HTTP a FTP

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

Page 36: Protokoly HTTP a FTP

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

Page 37: Protokoly HTTP a FTP

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

Page 38: Protokoly HTTP a FTP

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

Page 39: Protokoly HTTP a FTP

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

Page 40: Protokoly HTTP a FTP

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

Page 41: Protokoly HTTP a FTP

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

Page 42: Protokoly HTTP a FTP

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.