Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
An Introduction to the Internet and the Web
Frank McCownCOMP 250 – Web Development
Harding University
Photos were obtained from the Web, and copyright is held by the respective owners.Short History of Computing by Frank McCown is licensed under a Creative Commons
Attribution‐NonCommercial 3.0 Unported License
“We've all heard that a million monkeys banging on a million typewriters will eventually reproduce the entire works of Shakespeare. Now, thanks to the Internet, we know this is not true.”
‐ Robert Wilensky
ARPANET goes online with 4 nodes (1969)
Dec 1969
Dec 1970
Aug 1972
June 1970
Sept 1971
June 1975
http://www.mappingcyberspace.com/gallery/figure1_2.html
“The Internet is a global system of interconnected computer networks that use the standard Internet Protocol Suite (TCP/IP)
to serve billions of users worldwide.”http://en.wikipedia.org/wiki/Internet
nternetI
Computer 1 Computer 2
255.254.253.252 1.2.3.4
Internet Protocol Suite
• Internet Protocol (IP): directs packets to a specific computer using an IP address
• Transmission Control Protocol (TCP): directs packets to a specific application on a computer using a port number.– Common port numbers:
• 22 – ssh• 23 – telnet • 25 – email• 80 – Web
Tim Berners‐Lee and others at CERN develop the World Wide Web (WWW), HTML documents transmitted over the Internet by a web server to web browsers using URIs and HTTP (1st web page online on Aug 6, 1991)
Images: http://www.radford.edu/sjennings15/text.htm http://en.wikipedia.org/wiki/Tim_Berners‐Lee
Overview of the Web
nternetI
Client – Web Browser Web Server
255.254.253.252 1.2.3.4
World Wide Web: The system of interlinked hypertext documents accessed over the Internet using the HTTP protocol
http://gs.statcounter.com/#browser‐ww‐monthly‐200807‐201509
Web Browser
Software that runs on the client used to access and display web content
http://gs.statcounter.com/#mobile_browser‐ww‐monthly‐200812‐201509
Mobile Web Browser
Mobile browsers account for 51% of global web access in Jan 2017
Web ServerA computer (or software running on a computer) on the Internet that listens for HTTP requests, typically on port 80, and responds with HTTP responses
Apache : 26%Microsoft IIS: 31%ngnix: 23%Other: 20%
Market Share for Top Servers Across All Domains, Aug 1995 –Dec 2017
http://news.netcraft.com/archives/category/web‐server‐survey/
Hypertext Transfer Protocol (HTTP)Protocol that runs over TCP/IP and governs communication between web browsers and web servers
Client RequestGET /comp HTTP/1.1Host: www.harding.edu
Server ResponseHTTP/1.1 200 OKContent-Length: 6018Content-Type: text/htmlContent-Location: http://www.harding.edu/compLast-Modified: Mon, 05 Jul 2014 18:49:40 GMTServer: nginx
<!DOCTYPE html><html><meta content="IE=edge" http-equiv="X-UA-Compatible"><head>
Example request for http://www.harding.edu/comp
Uniform Resource Locator (URL)A URL identifies the location of a resource on the Web.
http://www.foo.org/abc/bar.html
scheme hostname path
localhostname
domain name TLD
Domain Name System (DNS)DNS is a hierarchical look‐up service that converts a given hostname into its equivalent IP address
www.google.com 1.4.5.8www.cnn.com 4.6.2.8www.hulu.com 6.7.8.9Etc ...
DNS Serverwww.harding.edu 128.82.4.20
• DNS servers contact parent servers for missing entries• Authoritative name servers are responsible for specific domains•Warning: DNS cache poisoning
Example: Web Page Request
http://foo.org/bar.html
Client (Web Browser) Web Server
(4) HTTP GET bar.html
(1) Enter URL
(6) HTTP Response(5) Locate the
resource
(7) Parse HTML& display
(8) HTTP GET image1
(N) HTTP GET imageX
Potentially many requests & responses
DNS
(2) foo.org(3) 1.2.3.4
Dissecting the Request
GET /comp HTTP/1.1Host: www.harding.eduUser-Agent: Mozilla/5.0 Firefox/3.6.8
Request type
Dissecting the Request
GET /comp HTTP/1.1Host: www.harding.eduUser-Agent: Mozilla/5.0 Firefox/3.6.8
Path
Dissecting the Request
GET /comp HTTP/1.1Host: www.harding.eduUser-Agent: Mozilla/5.0 Firefox/3.6.8
HTTP version
Dissecting the Request
GET /comp HTTP/1.1Host: www.harding.eduUser-Agent: Mozilla/5.0 Firefox/3.6.8
Hostname
Dissecting the Request
GET /comp HTTP/1.1Host: www.harding.eduUser-Agent: Mozilla/5.0 Firefox/3.6.8
Identify client
Dissecting the Response
HTTP/1.1 200 OKContent-Length: 6018Content-Type: text/htmlContent-Location: http://www.harding.edu/comp/Last-Modified: Mon, 05 Jul 2010 18:49:40 GMTServer: Microsoft-IIS/6.0
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Harding University - Computer Science</title>Etc...
Header
Message body
HTTP versionStatus code & phrase
Status Line
HTTP/1.1 200 OK
Popular status codes:200 OK301 Moved permanently302 Found under different temporary URI304 Not modified403 Forbidden 404 Not found500 Internal server error
HTTP version
Status code & phrase
Dissecting the Response
HTTP/1.1 200 OKContent-Length: 6018Content-Type: text/htmlContent-Location: http://www.harding.edu/comp/Last-Modified: Mon, 05 Jul 2010 18:49:40 GMTServer: Microsoft-IIS/6.0
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Harding University - Computer Science</title>Etc...
Header
Message body
Number of bytes in response
Dissecting the Response
HTTP/1.1 200 OKContent-Length: 6018Content-Type: text/htmlContent-Location: http://www.harding.edu/comp/Last-Modified: Mon, 05 Jul 2010 18:49:40 GMTServer: Microsoft-IIS/6.0
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Harding University - Computer Science</title>Etc...
Header
Message body
MIME type
Popular MIME types
• text/html• text/plain
• image/jpeg• image/gif• image/png
• application/pdf• application/msword• application/vnd.ms‐excel
• video/quicktime
IANA list of MIME types
Dissecting the Response
HTTP/1.1 200 OKContent-Length: 6018Content-Type: text/htmlContent-Location: http://www.harding.edu/comp/Last-Modified: Mon, 05 Jul 2010 18:49:40 GMTServer: Microsoft-IIS/6.0
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Harding University - Computer Science</title>Etc...
Header
Message body
URI for resource
Dissecting the Response
HTTP/1.1 200 OKContent-Length: 6018Content-Type: text/htmlContent-Location: http://www.harding.edu/comp/Last-Modified: Mon, 05 Jul 2010 18:49:40 GMTServer: Microsoft-IIS/6.0
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Harding University - Computer Science</title>Etc...
Header
Message body
When the file was last modified on the server
Dissecting the Response
HTTP/1.1 200 OKContent-Length: 6018Content-Type: text/htmlContent-Location: http://www.harding.edu/comp/Last-Modified: Mon, 05 Jul 2010 18:49:40 GMTServer: Microsoft-IIS/6.0
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Harding University - Computer Science</title>Etc...
Header
Message body
Web server software
Dissecting the Response
HTTP/1.1 200 OKContent-Length: 6018Content-Type: text/htmlContent-Location: http://www.harding.edu/comp/Last-Modified: Mon, 05 Jul 2010 18:49:40 GMTServer: Microsoft-IIS/6.0
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Harding University - Computer Science</title>Etc...
Header
Message body
HTML displayed in the browser
How can I see the HTTP headers?
• Chrome– Ctrl‐Shift‐I Developer Tools– “Network” button
• Firefox– Ctrl‐Shift‐K Web Console– “Net” button should be down
• Internet Explorer– F12 Developer Tools– “Network” tab