35
An Introduction to the Internet and the Web Frank McCown COMP 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

An Introduction to the Internet and ... - sites.harding.edu

  • 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

http://www.opte.org/maps/

http://internet‐map.net/

“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

Web

VoIP

email

IM

Streaming video

Internet ≠ Web

The Internet

File transfer

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