180 likes | 302 Views
World Wide Web. WeeSan Lee <weesan@cs.ucr.edu> http://www.cs.ucr.edu/~weesan/cs183/. Roadmap. Introduction HTTP URL HTML CGI Apache Server Installation Squid Cache Server Q&A. Introduction. Invented by Tim Berners-Lee in 1989/1990 Client-server architecture Servers
E N D
World Wide Web WeeSan Lee <weesan@cs.ucr.edu> http://www.cs.ucr.edu/~weesan/cs183/
Roadmap • Introduction • HTTP • URL • HTML • CGI • Apache Server Installation • Squid Cache Server • Q&A
Introduction • Invented by Tim Berners-Lee in 1989/1990 • Client-server architecture • Servers • Apache, Netscape Enterprise Server, MS IIS, etc • Clients • GUI • Mosaic, Netscape, Mozilla, Firefox, Opera, Konqueror, Epiphany, IE, Safari, etc • Text • Link, wget, emacs, telnet, etc
HTTP • Hypertext Transfer Protocol • Listen on port 80 or http (/etc/services) • $ grep " 80/tcp" /etc/services • http 80/tcp www • RFC2068 defines HTTP/1.0 • RFC2616 defines HTTP/1.1 • Built on top of TCP
HTTP (cont) • $ telnet www.cs.ucr.edu 80 • Trying 138.23.169.15... • Connected to www.cs.ucr.edu. • Escape character is '^]'. • GET / HTTP/1.0 • HTTP/1.1 200 OK • Date: Mon, 16 Jul 2007 20:47:38 GMT • Server: Apache/2.2.3 (CentOS) • Last-Modified: Mon, 16 Jul 2007 20:08:44 GMT • ETag: "889f0f-d5-71bab00" • Accept-Ranges: bytes • Content-Length: 213 • Connection: close • Content-Type: text/html; charset=UTF-8 • …
URL • Uniform Resource Locator • Eg. • http://www.cs.ucr.edu:80/~weesan/index.html • http – protocol/application • www.cs.ucr.edu – hostname • 80 – port • ~weesan/ - directory • Index.html - filename
URL (cont) • Other protocols • file • file://etc/passwd • ftp • ftp://ftp.slackware.com/pub/slackware/slackware-12.0/ • https • https://www.cs.ucr.edu/ • mailto • mailto:weesan@cs.ucr.edu
HTML • Hypertext Markup Language • Eg. • <head> • <title>A sample HTML</title> • </head> • <body> • <a href=“mailto:weesan@cs.ucr.edu”>Me</a> • </body>
CGI • Common Gateway Interface • A way to communicate with external programs and generate pages dynamically • Example of external scripts/programs: • Perl, PHP, Python, Ruby, Bash, C/C++, Cobol, etc • Servers support plugins for performance, eg. • libphp4.so • libphp5.so • libperl.so
Apache Server Installation • http://www.apache.org/ • $ yum install httpd • Files are distributed all over the places • /etc/httpd/conf/httpd.conf • /usr/sbin/httpd • /usr/sbin/apachectl • /var/www/html/ • /var/www/cgi-bin/ • /var/log/httpd/access_log • /var/log/httpd/error_log
Apache Server Installation (cont) • To start the httpd server • $ /etc/init.d/httpd start • To restart the httpd server • $ /etc/init.d/httpd restart • To stop the httpd server • $ /etc/init.d/httpd stop • To start the httpd server on reboot • $ chkconfig --level 2345 httpd on
Squid Cache Server • http://www.squid-cache.org/ • A free version spawned from Harvest Cache Project from USC, which became NetCache, and 8 months later, it was acquired by NetApp • Caches objects locally • Saves bandwidth • Reduces latency • Fast, not process forking for new connections • Supports Hierarchy Caching • Listen on port 3128
Squid Cache Server (cont) • $ telnet cache.cs.ucr.edu 3128 • Trying cache.cs.ucr.edu... • Connected to cache.cs.ucr.edu. • Escape character is '^]'. • GET http://www.cs.ucr.edu/~weesan/cs183/login.php HTTP/1.0 • Host: www.cs.ucr.edu • HTTP/1.0 200 OK • Date: Thu, 08 May 2008 07:11:19 GMT • Server: Apache/2.2.3 (CentOS) • X-Powered-By: PHP/5.1.6 • Content-Type: text/html; charset=UTF-8 • X-Cache: MISS from cache.cs.ucr.edu • Via: 1.0 cache.cs.ucr.edu:3128 (squid/2.6.STABLE14) • Proxy-Connection: close • …
Squid Cache Server (cont) .edu .net .com GET http://www.cs.ucr.edu HTTP/1.0
Squid Cache Server (cont) • Accelerator Mode • Reverse Proxy • To make web server faster for static pages • Transparent Caching • Uses iptables • Configuration-free from clients
Squid Cache Server (cont) • To create swap directories • $ squid –z • Run only once!!! • To run Squid Cache Server • $ RunCache • To reload the configuration • $ squid -k reconfiguration • To rotate the log files • $ squid -k rotate
Reference • LAH • Ch 21: Web Hosting and Internet Servers • Apache Web Server • http://www.apache.org/ • Squid Cache Server • http://www.squid-cache.org/