Title: CS301 Page 1
1Basic WWW Systems
Web Server Hosting web pages
Retrieving web pages using HTTP protocol
Web Authoring System create web pages
Internet
Publish web pages
Scanner
Video capture
Sound card
Web page document written in HTML,JSP,ASP,PHP
2What is Unique in WWW?
- Hyperlink Use Hypertext Markup Language HTML to
describe the document in ASCII text (extended to
iso-8859-1) - Naming scheme Name object in the web with
Universal Resource Locator (URL) with
syntaxprotocol//domain_nameportno/lturi or
path namegt - HTTP HyperText Transfer Protocola simple
request-response protocol for transferring HTML
documents - ASCII text based (not binary, therefore easy to
debug) - With tags describing the formatting of content.
3Web Page Authoring System
- Text Editor type in HTML lttaggt and content
- HTML Editor like normal word processor, user did
not have know a lot about HTML syntax, e.g., - Dreamweaver, Homesite, Netscape Page Composer, MS
Front Page - Dreamweaver, Homesite, and Front Page take
further step by providing templates and web site
management functions (upload to multiple servers,
check/verify links) - Most desktop publishing software and word
processor have built-in converters to convert
from their internal format to HTML format. For
example - OfficeXP, FrameMaker,
43-tier Enterprise Web Systems
- Web Server
- Hosting web pages
- Run Server Side Script
- Access Database/Enterprise Application Server
Database Server
SQL/TCP
Application Server
HTTP protocol
HTTP SOAPWeb Service
5Web Programming
- Basic Web Application Development
- Develop Client Side Javascript/VB Script
- Develop Server Side CGI Script (Perl/PHP/DBI)
- Advanced Web Application Development
- Develop Web Service (J2EE/.NET), document them
using WSDL, publish them to UDDI portal - Develop web portal (J2EE uPortal PHP based
portal)Customized user access with XML/XSL/DB
profile - Advanced IDE such IBM Rational Software
Architecture help develop enterprise advanced web
application.
6Simple Web Access Example Step1
- Someone requests a document using a browser (Web
Client) on a computer connected to Internet - Type in a URL, http//www.netcraft.co.uk/Survey/
- The browser parses the URL,
- obtains domain name of url, www.netcraft.co.uk
- asks Domain Name Server (DNS) for translating the
domain name to the IP adddress - with IP address the client computer set up a HTTP
connection to the server
7Computer Network
- Local Area Network (LAN) a private-owned network
within a single building or campus of up to a few
kilometer in size. - Wide Area Network (WAN) a network that spans a
large geographical area, often a country or
continent, and connects LANs or MANs. It consists
of transmission line (called circuits, channels,
or trunks) and switching elements (called
switching nodes, data switching exchanges or
router).
DNS server
web client
DNS server
web server
8Protocol and Protocol Layer
- A set of rules for achieving a global objective
exercised by geographically distributed nodes.
(Robert Gallager, Prof. EE MIT)
9Protocol Data Encapsulation
10Internet Protocol Layer Interface
11Simple Web Access Example Step2
- Browser sends ASCII characters string to
serverGET /survey/ HTTP/1.0User-agent Mosaic
for X windows/2.4Accept text/plainAccept
text/htmlAccept image/ - httpd server parses the request according to
HTTPinterpret rest of the metainfo for browser
capabilitiesretrieve c/InetPub/wwwroot/survey/de
fault.htm send information back using HTTP/1.0
format
12Simple Web Access Example Step3
- Server replies information using HTTP/1.0 format
- HTTP/1.0 200 OK
- Server Microsoft-IIS/2.0
- Date Thu, 22 Jan 1998 175415 GMT
- Content-Type text/html
- Accept-Ranges bytes
- Last-Modified Mon, 18 Nov 1996 083810 GMT
- Content-Length 4051
- lt!doctype html public "-//IETF//DTD HTML//EN"gt
- ltHTMLgt
- Server close file, network connection, wait for
next request
13Homework 1 Exercise2
- Go to any CS Unix machine with telnet software
- Execute telnet blanca.uccs.edu 80
- Type GET /chow/index.html HTTP/1.0ltCRgtltCRgt
- You can try telnet viva.uccs.edu 80 gt outType
the above 3 lines of HTTP request - See the return web page saved in the file named
out - Try GET /chow/ HTTP/1.0 and see what happens
14Simple Web Access Example Step3a
- Browser send GET /sample.htm HTTP/1.0
- Server replies
- HTTP/1.0 404 Object Not Found
- Content-Type text/html
- ltbodygtlth1gtHTTP/1.0 404 Object Not Found
- lt/h1gtlt/bodygt
- Server close file, network connection, wait for
next request
15HTTP
- HTTP1.1 http//www.w3.org/Protocols/rfc2068/rfc206
8 - A HTTP request consists of
- method GET, HEAD, POST, PUT, DELETE,
- Universal Resource Identifier (URI)
- Protocol version
- other info to modify or supplement the request
- If-Modified-Since (only return object if it is
newer the date - authorization (user password or other
authenticaiton as required) - accept application/postscript
16HTTP Response
- consists of
- status line (success or failure)
- HTTP/1.1 400 Bad Request200 (Document Follow),
301 (Move Permanently), 302 (Move Temporarily),
304 (Not Modified), 401 (Unauthorized), 402
(payment required), 403 (Forbidden), 404 (Not
Found), 500 (server error) - description of the infnormation (metainfo)
- Server, Date, Content-Length, Content-Type,
Content-Encoded, Last Modified - actual info requested
17Content-Type MIME Type
- text/plain
- text/html
- application/postscript
- image/gif
- image/jpeg
- audio/basic
- audio/midi
- video/mpeg
- x-world/x-vrml
18Improving WWW Delivery Systems
- Currently network is bottleneck.
- The retrieval of web pages can be improved by
- increasing network bandwidth, e.g., ADSL link
- reducing round trip, e.g., use client side
programming to check data with Java/Javascript - caching (both at client and proxy cache server)
- increase and processing power of web servers
- load balancing by partitioning client-server
requests
19Content Delivery Networks
Fast Response
Clients
_at_Home
PSINet
Client Cache
MindSpring
Edge Network Cache Server
Client Side Cache Server
Clients
Clients
20Large Web Sites
- Mapping the request, e.g., ftp.netscape.com,
evenly across a set of server, e.g.,
ftp1-28.netscape.com
21CISCO Distributed Director
- Distributed Director uses, the Director Response
Protocol (DRP), a UDP-based application for
querying DRP server agent for BGP and IGP routing
table metrics between distributed servers and
clients, and perform load distribution.
22Internet Caching
- Harvest/SQUID Cache hierarchical, 42 ftp bw
reduction - Client/Proxy Cache. Local Small, 65 bw reduction
- Server Push Cache Gwertzman and Seltzer
(cornell) - Distributed Internet Cache Povey and Harrison
(uq) hierarchical index on tree top, content on
the leave - Cachemesh Wong and Crowcroft (ucl)cache routing
table for reducing search overhead - WebWave Heddaya and Mirdad (bu)Cache on Route,
Tree Load Balancing Load Diffusion - Adaptive Web Caching Zhang, Floyd,
JacobsonSelf-configuration Cache Group,
Multicast.
23Dynamic Server Selection One candidate
architecture
Server push load status
Client probe response time
client
24WAN Load Balancing Architecture-3
25Important Web Sites
- http//www.w3c.org/
- http//developer.netscape.com/
- http//java.sun.com/
- http//www.microsoft.com/workshop/default.asp
- http//www.apache.org/
- http//www.netcraft.co.uk/Survey/
- http//web.mit.edu/afs/athena/user/w/s/wsmart/WEB/
HTMLtutor.html - ...
26Useful References
- Links will be added in our class web page
- Internet World Wide Web How to Program 2nd
Edition, by Deitel, Deitel, Nieto, Prentice Hall,
2002. Generic, Coverage very broad. - Core Web Programming, 2nd Edition, by Marty Hall
and Larry Brown, PH/PTR, 2001. focus on
Java/Servlet/JSP. - Programming the World Wide Web, by Sebesta,
Adddison Wesley, 2002. Concise. - Oreilys Web series
- HTML, CGI, Dynamic HTML, Programming Perl
- Web Server Technologies by Nancy J. Yeager and
Robert E. McGrath, Morgan Kaufmann 1996. - HTMLCGI
- World Wide Web Beyond the Basics, edit by Marc
Abrams, Prentice Hall, 1998 - ...
27Homework1
- Part 1
- Read Wade Martinson's HTML tutorials
- Create a web page ltyour logingt.html with
- your recent photo with face big enough (scan it
and save in JPEG as ltyour logingt.jpg put it in
ltlogingt/public_html/cs301/image directory on CS
Unix machine. - short vita with at least email address
- your interests in CS301
- See examples in http//cs.uccs.edu/cs522/CS522F20
01Photo.html - Put this web page in ltyour logingt/public_html/cs3
01 directory on CS Unix machine. - Part 2
- Exercise 1 as discussed in Page 11.
- Part 3
- Discuss how to improve web system performance.