CSCE 515:
Computer Network Programming
- ----- Web & HTTP
Wenyuan Xu Department of Computer Science and Engineering University of South Carolina
CSCE515 – Computer Network Programming
WWW History
What is WWW? an architecture framework for accessing linked document spread over
millions of machines
1989-1990 – Tim Berners-Lee invents the World Wide Web at CERN CERN: European center for nuclear research. Means for distributing high-energy physics data Means for transferring text and graphics simultaneously Client/Server data transfer protocol
Communication via application level protocol System ran on top of standard networking infrastructure
Established a common language for sharing information on computers
Text mark up language Simple and easy to use Requires a client application to render text/graphics
CSCE515 – Computer Network Programming
WWW History contd.
1994 – Mark Andreesen invents MOSAIC at National
Center for Super Computing Applications (NCSA)
First graphical browser Internet’s first “killer app” Freely distributed Became Netscape Inc.
1995 (approx.) – Web traffic becomes dominant
Exponential growth E-commerce Web infrastructure companies World Wide Web Consortium
CSCE515 – Computer Network Programming
How the web works?
User input:
URL Hypertext link/ Hyperlink
Web browser
Gets the IP address of the server (via DNS) Makes a TCP connection to port 80 on the server Sends an HTTP request to the web server Receives the required files from the web server Releases the TCP connection. Renders the page onto the screen as specified by its
HTML or other web languages
CSCE515 – Computer Network Programming
WWW Components
Structural Components
Clients/browsers – to dominant implementations Servers – run on sophisticated hardware Caches – many interesting implementations Internet – the global infrastructure which facilitates data
transfer
Semantic Components
Hyper Text Transfer Protocol (HTTP) Hyper Text Markup Language (HTML)
eXtensible Markup Language (XML)
Uniform Resource Identifiers (URIs)
CSCE515 – Computer Network Programming
URI: Uniform Resource Identifiers
URIs defined in RFC 2396. provide a simple and extensible means for
identifying a resource
Absolute URI: scheme://hostname[:port]/path
http://www.cse.sc.edu:80/foo/blah ftp://ftp.is.co.za/rfc/rfc1808.txt mailto:mduerst@ifi.unizh.ch
Relative URI: /path
/foo/blah No server mentioned