SlideShare una empresa de Scribd logo
1 de 18
CS 640 1
The World Wide Web
Outline
Background
Structure
Protocols
CS 640 2
WWW Background
• 1989-1990 – Tim Berners-Lee invents the World Wide
Web at CERN
– 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
– Text mark up language
• Not invented by Bernes-Lee
• Simple and easy to use
• Requires a client application to render text/graphics
CS 640 3
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
• Reference: “Web Protocols and Practice”, Krishnamurthy and
Rexford
CS 640 4
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)
CS 640 5
Quick Aside – Web server use
Source: Netcraft Server Survey, 2001
CS 640 6
WWW Structure
• Clients use browser application to send URIs via HTTP to servers
requesting a Web page
• Web pages constructed using HTML (or other markup language)
and consist of text, graphics, sounds plus embedded files
• Servers (or caches) respond with requested Web page
– Or with error message
• Client’s browser renders Web page returned by server
– Page is written using Hyper Text Markup Language (HTML)
– Displaying text, graphics and sound in browser
– Writing data as well
• The entire system runs over standard networking protocols
(TCP/IP, DNS,…)
CS 640 7
Uniform Resource Identifiers
• Web resources need names/identifiers – Uniform Resource
Identifiers (URIs)
– Resource can reside anywhere on the Internet
• URIs are a somewhat abstract notion
– A pointer to a resource to which request methods can be applied to
generate potentially different responses
• A request method is eg. fetching or changing the object
• Instance: http://www.foo.com/index.html
– Protocol, server, resource
• Most popular form of a URI is the Uniform Resource
Locator (URL)
– Differences between URI and URL are beyond scope
– RFC 2396
CS 640 8
HTTP Basics
• Protocol for client/server communication
– The heart of the Web
– Very simple request/response protocol
• Client sends request message, server replies with response message
– Stateless
– Relies on URI naming mechanism
• Three versions have been used
– 09/1.0 – very close to Berners-Lee’s original
• RFC 1945 (original RFC is now expired)
– 1.1 – developed to enhance performance, caching, compression
• RFC 2068
– 1.0 dominates today but 1.1 is catching up
CS 640 9
HTTP Request Messages
• GET – retrieve document specified by URL
• PUT – store specified document under given URL
• HEAD – retrieve info. about document specified by URL
• OPTIONS – retrieve information about available options
• POST – give information (eg. annotation) to the server
• DELETE – remove document specified by URL
• TRACE – loopback request message
• CONNECT – for use by caches
CS 640 10
HTTP Request Format
• First type of HTTP message: requests
– Client browsers construct and send message
• Typical HTTP request:
– GET http://www.cs.wisc.edu/index.html HTTP/1.0
request-line ( request request-URI HTTP-version)
headers (0 or more)
<blank line>
body (only for POST request)
CS 640 11
HTTP Response Format
• Second type of HTTP message: response
– Web servers construct and send response messages
• Typical HTTP response:
– HTTP/1.0 301 Moved Permanently
Location: http://www.wisc.edu/cs/index.html
status-line (HTTP-version response-code response-phrase)
headers (0 or more)
<blank line>
body
CS 640 12
HTTP Response Codes
• 1xx – Informational – request received, processing
• 2xx – Success – action received, understood, accepted
• 3xx – Redirection – further action necessary
• 4xx – Client Error – bad syntax or cannot be fulfilled
• 5xx – Server Error – server failed
CS 640 13
HTTP Headers
• Both requests and responses can contain a variable
number of header fields
– Consists of field name, colon, space, field value
– 17 possible header types divided into three categories
• Request
• Response
• Body
• Example: Date: Friday, 27-Apr-01 13:30:01 GMT
• Example: Content-length: 3001
CS 640 14
HTTP/1.0 Network Interaction
• Clients make requests to port 80 on servers
– Uses DNS to resolve server name
• Clients make separate TCP connection for each URL
– Some browsers open multiple TCP connections
• Netscape default = 4
• Server returns HTML page
– Many types of servers with a variety of implementations
– Apache is the most widely used
• Freely available in source form
• Client parses page
– Requests embedded objects
CS 640 15
HTTP/1.1 Performance Enhancements
• HTTP/1.0 is a “stop and wait” protocol
– Separate TCP connection for each file
• Connect setup and tear down is incurred for each file
• Inefficient use of packets
• Server must maintain many connections in TIME_WAIT
• Mogul and Padmanabahn studied these issues in ’95
– Resulted in HTTP/1.1 specification focused on performance
enhancements
• Persistent connections
• Pipelining
• Enhanced caching options
• Support for compression
CS 640 16
Persistent Connections and Pipelining
• Persistent connections
– Use the same TCP connection(s) for transfer of multiple files
– Reduces packet traffic significantly
– May or may not increase performance from client perspective
• Load on server increases
• Pipelining
– Pack as much data into a packet as possible
– Requires length field(s) within header
– May or may not reduce packet traffic or increase performance
• Page structure is critical
CS 640 17
HTML Basics
• Hyper-Text Markup Language
– A subset of Standardized General Markup Language (SGML)
– Facilitates a hyper-media environment
• Embedded links to other documents and applications
• Documents use elements to “mark up” or identify sections of text
for different purposes or display characteristics
• Mark up elements are not seen by the user when page is displayed
• Documents are rendered by browsers
• NOTE: Not all documents in the Web are HTML!
• Most people use WYSIWYG editors (MS Word) to generate
HTML
CS 640 18
HTML Example
<HTML>
<HEAD>
<TITLE> PB’s HomePage </TITLE>
</HEAD>
<BODY>
<CENTER><IMG SRC = “bad_picture.gif” ALT = “ “><BR></CENTER>
<P><CENTER><H1>UW Computer Science Department</H1></CENTER>
Welcome to my goofy HomePage!
…
<A HREF = http://www.cs.wisc.edu/~pb/mydogs_page.html> Spot’s Page </A>
</BODY>
</HTML>

Más contenido relacionado

La actualidad más candente

WEB-DBMS A quick reference
WEB-DBMS A quick referenceWEB-DBMS A quick reference
WEB-DBMS A quick reference
Marc Dy
 
Exchange 2013 Architecture Details
Exchange 2013 Architecture DetailsExchange 2013 Architecture Details
Exchange 2013 Architecture Details
Huy Phạm
 

La actualidad más candente (20)

WEB-DBMS A quick reference
WEB-DBMS A quick referenceWEB-DBMS A quick reference
WEB-DBMS A quick reference
 
Linux Hosting Training Course [Level 1] - Lec 7
Linux Hosting Training Course [Level 1] - Lec 7Linux Hosting Training Course [Level 1] - Lec 7
Linux Hosting Training Course [Level 1] - Lec 7
 
Ftp connector
Ftp connectorFtp connector
Ftp connector
 
Muleesbcomponents1 160625154208
Muleesbcomponents1 160625154208Muleesbcomponents1 160625154208
Muleesbcomponents1 160625154208
 
Html
HtmlHtml
Html
 
ISUG 113: File stream
ISUG 113: File streamISUG 113: File stream
ISUG 113: File stream
 
Exchange Server Recovery, Conversion & Migration
Exchange Server Recovery, Conversion & MigrationExchange Server Recovery, Conversion & Migration
Exchange Server Recovery, Conversion & Migration
 
Web technology unit I - Part B
Web technology unit I - Part BWeb technology unit I - Part B
Web technology unit I - Part B
 
Office Track: Exchange 2013 in the real world - Michael Van Horenbeeck
Office Track: Exchange 2013 in the real world - Michael Van HorenbeeckOffice Track: Exchange 2013 in the real world - Michael Van Horenbeeck
Office Track: Exchange 2013 in the real world - Michael Van Horenbeeck
 
ITI004En-Introduction to XML (III)
ITI004En-Introduction to XML (III)ITI004En-Introduction to XML (III)
ITI004En-Introduction to XML (III)
 
Remote Blog Storage (RBS) Best Practices in SharePoint 2010 - EPC Group
Remote Blog Storage (RBS) Best Practices in SharePoint 2010 - EPC GroupRemote Blog Storage (RBS) Best Practices in SharePoint 2010 - EPC Group
Remote Blog Storage (RBS) Best Practices in SharePoint 2010 - EPC Group
 
Wso2 esb-maintenance-guide
Wso2 esb-maintenance-guideWso2 esb-maintenance-guide
Wso2 esb-maintenance-guide
 
Server training
Server trainingServer training
Server training
 
Advaced training-wso2-esb
Advaced training-wso2-esbAdvaced training-wso2-esb
Advaced training-wso2-esb
 
Apc
ApcApc
Apc
 
Web hosting Introduction- MilesWeb
Web hosting  Introduction- MilesWebWeb hosting  Introduction- MilesWeb
Web hosting Introduction- MilesWeb
 
Using database object relational storage
Using database object relational storageUsing database object relational storage
Using database object relational storage
 
Exchange 2013 Architecture Details
Exchange 2013 Architecture DetailsExchange 2013 Architecture Details
Exchange 2013 Architecture Details
 
Hbase
HbaseHbase
Hbase
 
Introduction to WSO2 ESB Pass-Through Transport
Introduction to WSO2 ESB Pass-Through TransportIntroduction to WSO2 ESB Pass-Through Transport
Introduction to WSO2 ESB Pass-Through Transport
 

Destacado (7)

Wi Max1
Wi Max1Wi Max1
Wi Max1
 
Satellites
SatellitesSatellites
Satellites
 
C D M A Vs Gsm1
C D M A Vs  Gsm1C D M A Vs  Gsm1
C D M A Vs Gsm1
 
Wi Max1
Wi Max1Wi Max1
Wi Max1
 
Htt1
Htt1Htt1
Htt1
 
Micro Power Stations
Micro Power StationsMicro Power Stations
Micro Power Stations
 
Tsunami Detector1 Ppt
Tsunami Detector1 PptTsunami Detector1 Ppt
Tsunami Detector1 Ppt
 

Similar a Web

ch01-Internet & Web Basics &.ppt
ch01-Internet & Web Basics &.pptch01-Internet & Web Basics &.ppt
ch01-Internet & Web Basics &.ppt
GmachImen
 
cross document messaging, html 5
cross document messaging, html 5cross document messaging, html 5
cross document messaging, html 5
Kristoffer Snabb
 

Similar a Web (20)

Introduction to the Internet and Web.pptx
Introduction to the Internet and Web.pptxIntroduction to the Internet and Web.pptx
Introduction to the Internet and Web.pptx
 
Http protocol
Http protocolHttp protocol
Http protocol
 
Module 5 Application and presentation Layer .pptx
Module 5 Application and presentation Layer .pptxModule 5 Application and presentation Layer .pptx
Module 5 Application and presentation Layer .pptx
 
Web services
Web servicesWeb services
Web services
 
Web Landscape - updated in Jan 2016
Web Landscape - updated in Jan 2016Web Landscape - updated in Jan 2016
Web Landscape - updated in Jan 2016
 
Web & HTTP
Web & HTTPWeb & HTTP
Web & HTTP
 
An Introduction To World Wide Web
An Introduction To World Wide WebAn Introduction To World Wide Web
An Introduction To World Wide Web
 
introduction to Web system
introduction to Web systemintroduction to Web system
introduction to Web system
 
CNIT 129S - Ch 3: Web Application Technologies
CNIT 129S - Ch 3: Web Application TechnologiesCNIT 129S - Ch 3: Web Application Technologies
CNIT 129S - Ch 3: Web Application Technologies
 
CNIT 129S: Ch 3: Web Application Technologies
CNIT 129S: Ch 3: Web Application TechnologiesCNIT 129S: Ch 3: Web Application Technologies
CNIT 129S: Ch 3: Web Application Technologies
 
Compute rNetwork.pptx
Compute rNetwork.pptxCompute rNetwork.pptx
Compute rNetwork.pptx
 
Advanced Web Design And Development BIT 3207
Advanced Web Design And Development BIT 3207Advanced Web Design And Development BIT 3207
Advanced Web Design And Development BIT 3207
 
ch01-Internet & Web Basics &.ppt
ch01-Internet & Web Basics &.pptch01-Internet & Web Basics &.ppt
ch01-Internet & Web Basics &.ppt
 
Cs8591 Computer Networks - UNIT V
Cs8591 Computer Networks - UNIT VCs8591 Computer Networks - UNIT V
Cs8591 Computer Networks - UNIT V
 
Basics of the Web Platform
Basics of the Web PlatformBasics of the Web Platform
Basics of the Web Platform
 
Web technologies-course 01.pptx
Web technologies-course 01.pptxWeb technologies-course 01.pptx
Web technologies-course 01.pptx
 
cross document messaging, html 5
cross document messaging, html 5cross document messaging, html 5
cross document messaging, html 5
 
21 Www Web Services
21 Www Web Services21 Www Web Services
21 Www Web Services
 
Evolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser SecurityEvolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser Security
 
IP UNIT 1.pptx
IP UNIT 1.pptxIP UNIT 1.pptx
IP UNIT 1.pptx
 

Más de Mayank Vora (20)

TATA CRUCIBLE CORPORATE EDITION -2015(BHUBANESWAR PRELIMS & FINALS)
TATA CRUCIBLE CORPORATE EDITION -2015(BHUBANESWAR PRELIMS & FINALS)TATA CRUCIBLE CORPORATE EDITION -2015(BHUBANESWAR PRELIMS & FINALS)
TATA CRUCIBLE CORPORATE EDITION -2015(BHUBANESWAR PRELIMS & FINALS)
 
Mumbai prelims
Mumbai prelimsMumbai prelims
Mumbai prelims
 
New booklet
New bookletNew booklet
New booklet
 
Vpn1
Vpn1Vpn1
Vpn1
 
Spintronics
SpintronicsSpintronics
Spintronics
 
Sattellite Power Station1
Sattellite Power Station1Sattellite Power Station1
Sattellite Power Station1
 
Radio Frequency1
Radio  Frequency1Radio  Frequency1
Radio Frequency1
 
Satellites
SatellitesSatellites
Satellites
 
Mobilecomputings07
Mobilecomputings07Mobilecomputings07
Mobilecomputings07
 
L I G H T E M I T T I N G P O L Y M E R S
L I G H T  E M I T T I N G  P O L Y M E R SL I G H T  E M I T T I N G  P O L Y M E R S
L I G H T E M I T T I N G P O L Y M E R S
 
H T T1
H T T1H T T1
H T T1
 
1 Vo I P Overview
1  Vo I P  Overview1  Vo I P  Overview
1 Vo I P Overview
 
Tsunami Detector1 Ppt
Tsunami Detector1 PptTsunami Detector1 Ppt
Tsunami Detector1 Ppt
 
Radio Frequency1
Radio Frequency1Radio Frequency1
Radio Frequency1
 
Sattellite Power Station1
Sattellite Power Station1Sattellite Power Station1
Sattellite Power Station1
 
Vpn1
Vpn1Vpn1
Vpn1
 
Spintronics
SpintronicsSpintronics
Spintronics
 
Micro Power Stations
Micro Power StationsMicro Power Stations
Micro Power Stations
 
Light Emitting Polymers
Light Emitting PolymersLight Emitting Polymers
Light Emitting Polymers
 
1 Vo Ip Overview
1 Vo Ip Overview1 Vo Ip Overview
1 Vo Ip Overview
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

Web

  • 1. CS 640 1 The World Wide Web Outline Background Structure Protocols
  • 2. CS 640 2 WWW Background • 1989-1990 – Tim Berners-Lee invents the World Wide Web at CERN – 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 – Text mark up language • Not invented by Bernes-Lee • Simple and easy to use • Requires a client application to render text/graphics
  • 3. CS 640 3 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 • Reference: “Web Protocols and Practice”, Krishnamurthy and Rexford
  • 4. CS 640 4 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)
  • 5. CS 640 5 Quick Aside – Web server use Source: Netcraft Server Survey, 2001
  • 6. CS 640 6 WWW Structure • Clients use browser application to send URIs via HTTP to servers requesting a Web page • Web pages constructed using HTML (or other markup language) and consist of text, graphics, sounds plus embedded files • Servers (or caches) respond with requested Web page – Or with error message • Client’s browser renders Web page returned by server – Page is written using Hyper Text Markup Language (HTML) – Displaying text, graphics and sound in browser – Writing data as well • The entire system runs over standard networking protocols (TCP/IP, DNS,…)
  • 7. CS 640 7 Uniform Resource Identifiers • Web resources need names/identifiers – Uniform Resource Identifiers (URIs) – Resource can reside anywhere on the Internet • URIs are a somewhat abstract notion – A pointer to a resource to which request methods can be applied to generate potentially different responses • A request method is eg. fetching or changing the object • Instance: http://www.foo.com/index.html – Protocol, server, resource • Most popular form of a URI is the Uniform Resource Locator (URL) – Differences between URI and URL are beyond scope – RFC 2396
  • 8. CS 640 8 HTTP Basics • Protocol for client/server communication – The heart of the Web – Very simple request/response protocol • Client sends request message, server replies with response message – Stateless – Relies on URI naming mechanism • Three versions have been used – 09/1.0 – very close to Berners-Lee’s original • RFC 1945 (original RFC is now expired) – 1.1 – developed to enhance performance, caching, compression • RFC 2068 – 1.0 dominates today but 1.1 is catching up
  • 9. CS 640 9 HTTP Request Messages • GET – retrieve document specified by URL • PUT – store specified document under given URL • HEAD – retrieve info. about document specified by URL • OPTIONS – retrieve information about available options • POST – give information (eg. annotation) to the server • DELETE – remove document specified by URL • TRACE – loopback request message • CONNECT – for use by caches
  • 10. CS 640 10 HTTP Request Format • First type of HTTP message: requests – Client browsers construct and send message • Typical HTTP request: – GET http://www.cs.wisc.edu/index.html HTTP/1.0 request-line ( request request-URI HTTP-version) headers (0 or more) <blank line> body (only for POST request)
  • 11. CS 640 11 HTTP Response Format • Second type of HTTP message: response – Web servers construct and send response messages • Typical HTTP response: – HTTP/1.0 301 Moved Permanently Location: http://www.wisc.edu/cs/index.html status-line (HTTP-version response-code response-phrase) headers (0 or more) <blank line> body
  • 12. CS 640 12 HTTP Response Codes • 1xx – Informational – request received, processing • 2xx – Success – action received, understood, accepted • 3xx – Redirection – further action necessary • 4xx – Client Error – bad syntax or cannot be fulfilled • 5xx – Server Error – server failed
  • 13. CS 640 13 HTTP Headers • Both requests and responses can contain a variable number of header fields – Consists of field name, colon, space, field value – 17 possible header types divided into three categories • Request • Response • Body • Example: Date: Friday, 27-Apr-01 13:30:01 GMT • Example: Content-length: 3001
  • 14. CS 640 14 HTTP/1.0 Network Interaction • Clients make requests to port 80 on servers – Uses DNS to resolve server name • Clients make separate TCP connection for each URL – Some browsers open multiple TCP connections • Netscape default = 4 • Server returns HTML page – Many types of servers with a variety of implementations – Apache is the most widely used • Freely available in source form • Client parses page – Requests embedded objects
  • 15. CS 640 15 HTTP/1.1 Performance Enhancements • HTTP/1.0 is a “stop and wait” protocol – Separate TCP connection for each file • Connect setup and tear down is incurred for each file • Inefficient use of packets • Server must maintain many connections in TIME_WAIT • Mogul and Padmanabahn studied these issues in ’95 – Resulted in HTTP/1.1 specification focused on performance enhancements • Persistent connections • Pipelining • Enhanced caching options • Support for compression
  • 16. CS 640 16 Persistent Connections and Pipelining • Persistent connections – Use the same TCP connection(s) for transfer of multiple files – Reduces packet traffic significantly – May or may not increase performance from client perspective • Load on server increases • Pipelining – Pack as much data into a packet as possible – Requires length field(s) within header – May or may not reduce packet traffic or increase performance • Page structure is critical
  • 17. CS 640 17 HTML Basics • Hyper-Text Markup Language – A subset of Standardized General Markup Language (SGML) – Facilitates a hyper-media environment • Embedded links to other documents and applications • Documents use elements to “mark up” or identify sections of text for different purposes or display characteristics • Mark up elements are not seen by the user when page is displayed • Documents are rendered by browsers • NOTE: Not all documents in the Web are HTML! • Most people use WYSIWYG editors (MS Word) to generate HTML
  • 18. CS 640 18 HTML Example <HTML> <HEAD> <TITLE> PB’s HomePage </TITLE> </HEAD> <BODY> <CENTER><IMG SRC = “bad_picture.gif” ALT = “ “><BR></CENTER> <P><CENTER><H1>UW Computer Science Department</H1></CENTER> Welcome to my goofy HomePage! … <A HREF = http://www.cs.wisc.edu/~pb/mydogs_page.html> Spot’s Page </A> </BODY> </HTML>