HTTP server
description
Transcript of HTTP server
HTTP server
http://site.kohl.cz/httpserver/
HTTP server
http://site.kohl.cz/httpserver/
1
Jak to funguje?
HTTP server
• URL (Uniform Resource Locator)
př: http://site.kohl.cz/httpserver/prezentace.php?str=0
• Protokol HTTP (HyperText Transfer Protocol)– HTTP 0.9– HTTP 1.0– HTTP 1.1
• Trvalé spojení• Komprimace/dekomprimace dat• Virtuální hostitelé• Přenos intervalu bajtů
http://site.kohl.cz/httpserver/
2
HTTP server
• Příklad požadavku:GET /httpserver/prezentace.php HTTP/1.1
Host: site.kohl.cz
• Příklad odpovědi:HTTP/1.1 200 OK
Server: Siux/0.1
<html></html>
http://site.kohl.cz/httpserver/
3
HTTP server
• Metody požadavku:– GET– HEAD– POST– OPTIONS– PUT– DELETE– TRACE
http://site.kohl.cz/httpserver/
4
HTTP server
• Stavové kódy a hlášení1** Informační
2** Úspěšné vyřízení požadavku
3** Přesměrování
4** Chyba klienta
5** Chyba na straně serveru
Příklad odpovědi serveru: HTTP/1.1 200 OK
http://site.kohl.cz/httpserver/
5
HTTP server
• Hlavičky:– If-Modified-Since („304 Not Modified“)– Last-Modified– Allow: GET, HEAD– Content-Length– Server
http://site.kohl.cz/httpserver/
6
HTTP
HTTP server
http://site.kohl.cz/httpserver/
7
• Program:
Použití funkcí pro spojové služby:
HTTP server
http://site.kohl.cz/httpserver/
8
Načtení parametrůa konfiguračních souborů,
nastavení proměných
Inicializace soketů
Načtení požadavku Nalezení souboru
Nastavení proměných
Načtení souboru
Koncovkasouboru
spuštění CGI
Odeslání souboru
naslouchání
Uzavření spojení
fork()
HTTP server
http://site.kohl.cz/httpserver/
9
• Některé proměné využívané programem a CGI skripty:
• SERVER_SOFTWARE
• SERVER_NAME
• SERVER_PORT
• REQUEST_METHOD
• REMOTE_HOST
• REMOTE_ADDR
• HTTP_USER_AGENT
HTTP server
Literatura:
• Linux začínáme programovat : Neil Matthew, Richard Stones• Pokročilé programování v operačním systému Linux : Mark
Mitchell, Jeffrey Oldham, Alex Samuel• Linux – administrace serveru Apache : Charles Aulds• PHP – tvorba interaktivních internetových aplikací : Jiří Kosek• Síťové programování pod Windows a programování Internetu :
Josef Pirkl• Internet standardy a protokoly : Dilip C.Naik• Internetworking pomocí TCP/IP : Pavel Šmrha, Vladimír Rudolf• Web Hacking: Útoky a obrana : Stuart McClure, Saumil Shah,
Shreeraj Shah
http://site.kohl.cz/httpserver/
10