HTTP (bezstanowy)

http://wp.pl:80/

protokół://host:nr portu/

Get http 11.1

Accept :image /gif

Image/jpeg

Accept Language: en_us

User Agent: Mozilla/3.0

Host: Server.com

Connection:keep alive

Odpowiedzi server:

HTTP/1.1 200 OK

Date: (GMT)

Server:

Last - Modified: data zmodyfikowania zasobu

ETag: - unikalny identyfikator zasobu

Accept Ranges - częściowe pobieranie

Connect Length - wielkość transmisji

Connection -stan połączenia

Connect - type : text/html

Get- klient chce otrzymać zasób z serwera , zawartość konkretnego pliku albo dane wejściowe programu

Head - pobranie przez klienta, jedynie info o dokumencie

POST - wysłanie do serwera info które mogą zmodyfikować jego stan

PUT - wysłanie zasobów serwera

DELETE - usunięcie -||- -||-

TRACE - zapytanie do serwisów pośredniczących (Proxy)

OPTIONS - serwer wysyła nagłówek jakie metody implementuje

CONNECT - łączenie z http z pośrednictwem Proxy

LINK, UNLINK, PATCH

Wywołanie

Options * http/1.1

HOST:

Odpowiedz

HTTP/1.1 200 OK

Public: Get, Head, Post, Put

Kody odpowiedzi:

100-199 - kody odpowiedzi informacyjnej (100++)

200-299 - żądanie przetworzone poprawnie (200)

300-399 - żądanie przeadresowanie (301 -zasób przeniesiony poprawnie)

400-499 - żądanie niekompletne (404 nie znaleziono)

500-599 - błąd w pracy serwera (505 serwer nie obsługuje wersji protokołu)

Nagłówek http

- Pola ogólnego przeznaczenia, zawierają info ogólne: data (występują w żądanych klientach jak i odpowiedzi serwera)

-Pola nagłówka żądania (po stronie klienta) : pole o możliwości kompresji

- Pola nagłówka odpowiedzi (zwraca serwer) : jaka cześć pliku została zwrócona

- Pola nagłówka zawartości: pola z opisem formatu zasobów (klient i serwer)

KRYPTOGRAFIA

Uwierzytalnianie - możliwość upewnienia co do tożsamości 2 strony

Szyfrowanie symetryczne (DES, 3DES, IDEA)

Szyfrowanie asymetryczne (RSA, EL Gamal)

Funkcje mieszające (hashujące) MD4m MD5 (128bit), SHA (160bit)

Digital Signature (cyfrowy podpis) DSS

Wiadomość -> szyfr ->f. skrótu

Algorytm Diffiego -Hellmana (służy do generacji kluczy)

A B

1. 2 duże liczby A p, q i wysyła do B

2. Strona wybiera dużą liczbę Xa i wykonuje równanie YA=qX mod p

3. Strona B tez wybiera liczbę Xb i wykonuje równanie YB=qX mod p

4. Wymiana YA i YB pomiędzy stronami

5. Strona A rozwiązuje równanie 2=(YB)XA mod p

6. Strona B rozwiązuje równanie 2=(YA)XB mod p

Certyfikaty:

1. Numer wersji certyfikatu

2. Numer serii certyfikatu

3. Informacje o algorytmie wydającego certyfikat: SHA, DES

4. Nazwa wydawcy certyfikatu

5. Termin ważności

6. Informacja o algorytmie: publicznego klucza właściciela certyfikatu

7. Cyfrowy podpis wydawcy certyfikatu

ATAKI

Dos

Atak TCP SYN Flood

Atak land.c

Ping of Death

SMURF