SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
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>

Contenu connexe

Tendances

WEB-DBMS A quick reference
WEB-DBMS A quick referenceWEB-DBMS A quick reference
WEB-DBMS A quick referenceMarc Dy
 
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 7Ramy Allam
 
Muleesbcomponents1 160625154208
Muleesbcomponents1 160625154208Muleesbcomponents1 160625154208
Muleesbcomponents1 160625154208ppts123456
 
Exchange Server Recovery, Conversion & Migration
Exchange Server Recovery, Conversion & MigrationExchange Server Recovery, Conversion & Migration
Exchange Server Recovery, Conversion & MigrationforensicEmailAnalysis
 
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 HorenbeeckITProceed
 
ITI004En-Introduction to XML (III)
ITI004En-Introduction to XML (III)ITI004En-Introduction to XML (III)
ITI004En-Introduction to XML (III)Huibert Aalbers
 
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 GroupEPC Group
 
Wso2 esb-maintenance-guide
Wso2 esb-maintenance-guideWso2 esb-maintenance-guide
Wso2 esb-maintenance-guideChanaka Fernando
 
Using database object relational storage
Using database object relational storageUsing database object relational storage
Using database object relational storageDalibor Blazevic
 
Exchange 2013 Architecture Details
Exchange 2013 Architecture DetailsExchange 2013 Architecture Details
Exchange 2013 Architecture DetailsHuy Phạm
 
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 TransportChanaka Fernando
 

Tendances (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
 

En vedette

En vedette (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
 

Similaire à Web

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.pptxhishamousl
 
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 .pptxAASTHAJAJOO
 
Web Landscape - updated in Jan 2016
Web Landscape - updated in Jan 2016Web Landscape - updated in Jan 2016
Web Landscape - updated in Jan 2016Jack Zheng
 
An Introduction To World Wide Web
An Introduction To World Wide WebAn Introduction To World Wide Web
An Introduction To World Wide WebAbhishek Kharbanda
 
introduction to Web system
introduction to Web systemintroduction to Web system
introduction to Web systemhashim102
 
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 TechnologiesSam Bowne
 
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 TechnologiesSam Bowne
 
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 3207Lori Head
 
ch01-Internet & Web Basics &.ppt
ch01-Internet & Web Basics &.pptch01-Internet & Web Basics &.ppt
ch01-Internet & Web Basics &.pptGmachImen
 
Cs8591 Computer Networks - UNIT V
Cs8591 Computer Networks - UNIT VCs8591 Computer Networks - UNIT V
Cs8591 Computer Networks - UNIT Vpkaviya
 
Web technologies-course 01.pptx
Web technologies-course 01.pptxWeb technologies-course 01.pptx
Web technologies-course 01.pptxStefan Oprea
 
cross document messaging, html 5
cross document messaging, html 5cross document messaging, html 5
cross document messaging, html 5Kristoffer Snabb
 
21 Www Web Services
21 Www Web Services21 Www Web Services
21 Www Web Servicesroyans
 
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 SecuritySanjeev Verma, PhD
 

Similaire à 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
 

Plus de Mayank Vora

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)Mayank Vora
 
Sattellite Power Station1
Sattellite Power Station1Sattellite Power Station1
Sattellite Power Station1Mayank Vora
 
Radio Frequency1
Radio  Frequency1Radio  Frequency1
Radio Frequency1Mayank Vora
 
Mobilecomputings07
Mobilecomputings07Mobilecomputings07
Mobilecomputings07Mayank Vora
 
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 SMayank Vora
 
1 Vo I P Overview
1  Vo I P  Overview1  Vo I P  Overview
1 Vo I P OverviewMayank Vora
 
Tsunami Detector1 Ppt
Tsunami Detector1 PptTsunami Detector1 Ppt
Tsunami Detector1 PptMayank Vora
 
Radio Frequency1
Radio Frequency1Radio Frequency1
Radio Frequency1Mayank Vora
 
Sattellite Power Station1
Sattellite Power Station1Sattellite Power Station1
Sattellite Power Station1Mayank Vora
 
Micro Power Stations
Micro Power StationsMicro Power Stations
Micro Power StationsMayank Vora
 
Light Emitting Polymers
Light Emitting PolymersLight Emitting Polymers
Light Emitting PolymersMayank Vora
 
1 Vo Ip Overview
1 Vo Ip Overview1 Vo Ip Overview
1 Vo Ip OverviewMayank Vora
 

Plus 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
 

Dernier

How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 

Dernier (20)

How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 

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>