120 likes | 325 Views
HTTP server. http://site.kohl.cz/httpserver/. 1. HTTP server. Jak to funguje?. server. požadavek. odpověď. klient. http://site.kohl.cz/httpserver/. 2. HTTP server. URL (Uniform Resource Locator) p ř : http://site.kohl.cz/httpserver/prezentace.php?str =0
E N D
HTTP server http://site.kohl.cz/httpserver/
1 HTTP server Jak to funguje? server požadavek odpověď klient http://site.kohl.cz/httpserver/
2 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/
3 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/
4 HTTP server • Metody požadavku: • GET • HEAD • POST • OPTIONS • PUT • DELETE • TRACE http://site.kohl.cz/httpserver/
5 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/
6 HTTP server • Hlavičky: • If-Modified-Since („304 Not Modified“) • Last-Modified • Allow: GET, HEAD • Content-Length • Server HTTP http://site.kohl.cz/httpserver/
7 HTTP server • Program: • Použití funkcí pro spojové služby: http://site.kohl.cz/httpserver/
8 HTTP server Načtení požadavku Nalezení souboru Načtení parametrů a konfiguračních souborů, nastavení proměných Nastavení proměných Koncovka souboru fork() Inicializace soketů Načtení souboru spuštění CGI naslouchání Odeslání souboru Uzavření spojení http://site.kohl.cz/httpserver/
9 HTTP server • 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://site.kohl.cz/httpserver/
10 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/