Internet a zejména World Wide Web jsou všudepřítomné. V řadě případů lze
zvýšit efektivitu nebo bezpečnost přístupu k WWW nasazením HTTP proxy
serveru. Práce uvádí do problematiky HTTP proxy. Současný HTTP proxy
server nutně pracuje se sockety, a obykle s výhodou využívá vícevláknovou
architekturu. Práce podává úvod do těchto technologií a je nabízí implementací
takového vícevláknového HTTP proxy serveru s funkcionalitou WWW serveru
pro uživatelské rozhranní.
Anotace v angličtině
The Internet and World Wide Web in particular are ubiquitous. The efficiency
and safety of access to the Web can be enhanced by the deployment of an HTTP
proxy server in many cases. This work provides an introduction to the issue of an
HTTP proxy. Current HTTP proxy server requires the use of sockets a preferably
multithreaded architecture. The paper provides an introduction to these
technologies and an implementation of a multithreaded HTTP proxy server with
an embedded WWW server used for the user interface.
Klíčová slova
HTTP, proxy server, sockety, vlákna
Klíčová slova v angličtině
HTTP, proxy server, sockets, threads
Rozsah průvodní práce
54
Jazyk
CZ
Anotace
Internet a zejména World Wide Web jsou všudepřítomné. V řadě případů lze
zvýšit efektivitu nebo bezpečnost přístupu k WWW nasazením HTTP proxy
serveru. Práce uvádí do problematiky HTTP proxy. Současný HTTP proxy
server nutně pracuje se sockety, a obykle s výhodou využívá vícevláknovou
architekturu. Práce podává úvod do těchto technologií a je nabízí implementací
takového vícevláknového HTTP proxy serveru s funkcionalitou WWW serveru
pro uživatelské rozhranní.
Anotace v angličtině
The Internet and World Wide Web in particular are ubiquitous. The efficiency
and safety of access to the Web can be enhanced by the deployment of an HTTP
proxy server in many cases. This work provides an introduction to the issue of an
HTTP proxy. Current HTTP proxy server requires the use of sockets a preferably
multithreaded architecture. The paper provides an introduction to these
technologies and an implementation of a multithreaded HTTP proxy server with
an embedded WWW server used for the user interface.
Klíčová slova
HTTP, proxy server, sockety, vlákna
Klíčová slova v angličtině
HTTP, proxy server, sockets, threads
Zásady pro vypracování
Vypracujte literární rešerši na téma proxy server v internetu.
Vytvořte program, který bude zastávat funkci jednoduchého http proxy serveru.
Cílová platforma bude GNU/Linux. Programování C/C++ (sokety, vláknové programování).
Vytvořte jednoduché webové rozhraní pro sledování komunikace a stavu proxy pro výukové účely.
Vypracujte manuál k vytvořenému programu.
Zásady pro vypracování
Vypracujte literární rešerši na téma proxy server v internetu.
Vytvořte program, který bude zastávat funkci jednoduchého http proxy serveru.
Cílová platforma bude GNU/Linux. Programování C/C++ (sokety, vláknové programování).
Vytvořte jednoduché webové rozhraní pro sledování komunikace a stavu proxy pro výukové účely.
Vypracujte manuál k vytvořenému programu.
Seznam doporučené literatury
RFC 791. Internet Protocol. [s.l.] : IETF, 1981. 45 s. Dostupné z WWW: http://tools.ietf.org/html/rfc791.
RFC 793. Transmission Control Protocol. [s.l.] : IETF, 1981. 85 s. Dostupné z WWW: http://tools.ietf.org/html/rfc793.
RFC 1945. Hypertext Transfer Protocol - HTTP/1.0. [s.l.] : IETF, 1996. 60 s. Dostupné z WWW: http://tools.ietf.org/html/rfc1945.
RFC 2616. Hypertext Transfer Protocol - HTTP/1.1. [s.l.] : IETF, 1999. 176 s. Dostupné z WWW: http://tools.ietf.org/html/rfc2616.
RFC 2617. HTTP Authentication: Basic and Digest Access Authentication. [s.l.] : IETF, 1999. 34 s. Dostupné z WWW: http://tools.ietf.org/html/rfc2617.
RFC 3143. Known HTTP Proxy/Caching Problems. [s.l.] : IETF, 2001. 32 s. Dostupné z WWW: http://tools.ietf.org/html/rfc3143.
GAY, Warren. Linux Socket Programming by Example. [s.l.] : Que, 2000. 557 s. ISBN 0789722410.
Seznam doporučené literatury
RFC 791. Internet Protocol. [s.l.] : IETF, 1981. 45 s. Dostupné z WWW: http://tools.ietf.org/html/rfc791.
RFC 793. Transmission Control Protocol. [s.l.] : IETF, 1981. 85 s. Dostupné z WWW: http://tools.ietf.org/html/rfc793.
RFC 1945. Hypertext Transfer Protocol - HTTP/1.0. [s.l.] : IETF, 1996. 60 s. Dostupné z WWW: http://tools.ietf.org/html/rfc1945.
RFC 2616. Hypertext Transfer Protocol - HTTP/1.1. [s.l.] : IETF, 1999. 176 s. Dostupné z WWW: http://tools.ietf.org/html/rfc2616.
RFC 2617. HTTP Authentication: Basic and Digest Access Authentication. [s.l.] : IETF, 1999. 34 s. Dostupné z WWW: http://tools.ietf.org/html/rfc2617.
RFC 3143. Known HTTP Proxy/Caching Problems. [s.l.] : IETF, 2001. 32 s. Dostupné z WWW: http://tools.ietf.org/html/rfc3143.
GAY, Warren. Linux Socket Programming by Example. [s.l.] : Que, 2000. 557 s. ISBN 0789722410.
Přílohy volně vložené
1 CD-ROM
Přílohy vázané v práci
tabulky
Převzato z knihovny
Ne
Plný text práce
Přílohy
Posudek(y) oponenta
Hodnocení vedoucího
Záznam průběhu obhajoby
Diplomant prezentoval výsledky své diplomové práce. Poté byla komise seznámena s posudky vedoucího a oponenta diplomové práce. Následně byla vedena rozprava nad diplomovou prací. Byly položeny následující dotazy a hodnocení:
1. V programu je využito zdrojových kódů spadajících pod licenci GNU/GPL, v jakém rozsahu? Proč není GPL přiložen? (doc. Sysel)
2. Proč neprovádíte v uživatelském rozhraní refresh pro zobrazení nových dat? (doc. Sysel)
3. Je vaše aplikace nějak chráněna proti útokům typu DoS? (doc. Sysel)
4. Jaké je možné další využití proxy serverů? (Ing. Srnec)
5. Došlo k nasazení vytvořeného softwaru i do jiného provozu, než do krátkého testu? Je možnost aplilkaci někde vyzkoušet? (Ing. Srnec)
6. Zvolená metoda profilingu nedala jednoznačné výsledky. Jakým způsobem by bylo třeba aplikaci testovat, aby se podle výsledků daly učinit nějaké závěry? (Ing. Srnec)
7. Proč nebyly opraveny dříve vytýkané chyby v technické zpráve? (Ing. Srnec)
8. Z jakého důvodu nebyla ke zpracování technické zprávy použita doporučená literatura? A pokud byla, tak proč není nikde v textu uveden žádný odkaz ani citace?(Ing. Srnec)
9. V textu je opravdu hodně pravopisných chyb. (dr. Dulík)
10. Jak jste přišel k tématu práce? (dr. Dulík)
11. Líbí se váš návrh architektury. (dr. Dulík)
Diplomant na všechny dotazy reagoval a zodpověděl vše.