SlideShare a Scribd company logo
1 of 38
Distributed Document-Based
Systems
Chapter 11
The World Wide Web
Overall organization of the Web.
Document Model (1)
A simple Web page embedding a script written in JavaScript.
<HTML> <!- Start of HTML document -->
<BODY> <!- Start of the main body -->
<H1>Hello World/H1> <!- Basic text to be displayed -->
<P> <!- Start of a new paragraph -->
<SCRIPT type = "text/javascript"> <!- identify scripting language -->
document.writeln ("<H1>Hello World</H1>; // Write a line of text
</SCRIPT> <!- End of scripting section -->
</P> <!- End of paragraph section -->
</BODY> <!- End of main body -->
</HTML> <!- End of HTML section -->
Document Model (2)
An XML definition for referring to a journal article.
(1) <!ELEMENT article (title, author+,journal)>
(2) <!ELEMENT title (#PCDATA)>
(3) <!ELEMENT author (name, affiliation?)>
(4) <!ELEMENT name (#PCDATA)>
(5) <!ELEMENT affiliation (#PCDATA)>
(6) <!ELEMENT journal (jname, volume, number?, month? pages, year)>
(7) <!ELEMENT jname (#PCDATA)>
(8) <!ELEMENT volume (#PCDATA)>
(9) <!ELEMENT number (#PCDATA)>
(10) <!ELEMENT month (#PCDATA)>
(11) <!ELEMENT pages (#PCDATA)>
(12) <!ELEMENT year (#PCDATA)>
Document Model (3)
An XML document using the XML definitions from previous slide
(1) <?xml = version "1.0">
(2) <!DOCTYPE article SYSTEM "article.dtd">
(3) <article>
(4) <title> Prudent Engineering Practice for Cryptographic Protocols</title>
(5) <author><name>M. Abadi</name></author>
(6) <author><name>R. Needham</name></author>
(7) <journal>
(8) <jname>IEEE Transactions on Software Engineering</jname>
(9) <volume>22</volume>
(10) <number>12</number>
(11) <month>January</month>
(12) <pages>6 – 15</pages>
(13) <year>1996</year>
(14) </journal>
(15) </article>
Document Types
Six top-level MIME types and some common subtypes.
Type Subtype Description
Text Plain Unformatted text
HTML Text including HTML markup commands
XML Text including XML markup commands
Image GIF Still image in GIF format
JPEG Still image in JPEG format
Audio Basic Audio, 8-bit PCM sampled at 8000 Hz
Tone A specific audible tone
Video MPEG Movie in MPEG format
Pointer Representation of a pointer device for presentations
Application Octet-stream An uninterrupted byte sequence
Postscript A printable document in Postscript
PDF A printable document in PDF
Multipart Mixed Independent parts in the specified order
Parallel Parts must be viewed simultaneously
Architectural Overview (1)
The principle of using server-side CGI programs.
Architectural Overview (2)
An HTML document containing a JavaScript to be executed by the server
(1) <HTML>
(2) <BODY>
(3) <P>The current content of <pre>/data/file.txt</PRE>is:</P>
(4) <P>
(5) <SERVER type = "text/javascript");
(6) clientFile = new File("/data/file.txt");
(7) if(clientFile.open("r")){
(8) while (!clientFile.eof())
(9) document.writeln(clientFile.readln());
(10) clientFile.close();
(11) }
(12) </SERVER>
(13) </P>
(14) <P>Thank you for visiting this site.</P>
(15) </BODY>
(16) </HTML>
Architectural Overview (3)
Architectural details of a client and server in the Web.
HTTP Connections
a) Using nonpersistent connections.
b) Using persistent connections
HTTP Methods
Operations supported by HTTP.
Operation Description
Head Request to return the header of a document
Get Request to return a document to the client
Put Request to store a document
Post Provide data that is to be added to a document (collection)
Delete Request to delete a document
HTTP Messages (1)
HTTP request message
HTTP Messages (2)
HTTP response message.
HTTP Messages (3)
Some HTTP
message
headers.
Header Source Contents
Accept Client The type of documents the client can handle
Accept-Charset Client The character sets are acceptable for the client
Accept-Encoding Client The document encodings the client can handle
Accept-Language Client The natural language the client can handle
Authorization Client A list of the client's credentials
WWW-Authenticate Server Security challenge the client should respond to
Date Both Date and time the message was sent
ETag Server The tags associated with the returned document
Expires Server The time how long the response remains valid
From Client The client's e-mail address
Host Client The TCP address of the document's server
If-Match Client The tags the document should have
If-None-Match Client The tags the document should not have
If-Modified-Since Client
Tells the server to return a document only if it has been
modified since the specified time
If-Unmodified-Since Client
Tells the server to return a document only if it has not been
modified since the specified time
Last-Modified Server The time the returned document was last modified
Location Server
A document reference to which the client should redirect its
request
Referer Client Refers to client's most recently requested document
Upgrade Both The application protocol the sender wants to switch to
Warning Both Information about the status of the data in the message
Clients (1)
Using a plug-in in a Web browser.
Clients (2)
Using a Web proxy when the browser does not speak FTP.
Servers
General organization of the Apache Web server.
Server Clusters (1)
The principle of using a cluster of workstations to implement a Web service.
Server Clusters (2)
(a) The principle of TCP handoff.
Server Clusters (3)
(b) A scalable content-aware cluster of Web servers.
Uniform Resource Locators (1)
Often-used structures for URLs.
a) Using only a DNS name.
b) Combining a DNS name with a port number.
c) combining an IP address with a port number.
Uniform Resource Locators (2)
Examples of URLs.
Name Used for Example
http HTTP http://www.cs.vu.nl:80/globe
ftp FTP ftp://ftp.cs.vu.nl/pup/minx/README
file Local file file:/edu/book/work/chp/11/11
data Inline data data:text/plain;charset=iso-8859-7,%e1%e2%e3
telnet Remote login telnet://flits.cs.vu.nl
tel Telephone tel:+31201234567
modem Modem modem:+31201234567;type=v32
Uniform Resource Names
The general structure of a URN
Web Proxy Caching
The principle of cooperative caching
Server Replication
The principle working of the Akami CDN.
Security (1)
The position of TLS in the Internet protocol stack.
Security (2)
TLS with mutual authentication.
Lotus Notes
The general organization of a Lotus Notes system.
Document Model
Examples of different types of notes.
Note type Category Description
Document Data A user-oriented document such as a Web page
Form Design
Structure for creating, editing, and viewing a
document
Field Design
Defines a field shared between a form and
subforms
View Design Structure for displaying a collection of documents
ACL Administration Contains an access control list for the database
ReplFormula Administration Describes the replication of the database
Processes (1)
The general organization of a Domino server.
Processes (2)
Request handling in a cluster of Domino servers.
Naming
A Notes URL for accessing a database.
Identifiers
Some major identifiers in Notes.
Identifier Scope Description
Universal ID World
Globally unique identifier assigned to each
note
Originator ID World
Identifier for a note, but includes history
information
Database ID Server Time-dependent identifier for a database
Note ID Database
Identifier of a note relative to a database
instance
Replica ID World
Timestamp used to identify the same copies
of a database
Replication
Replication schemes in Notes.
Scheme Description
Pull-push
A replicator task pulls updates in from a target server, and pushes
its own updates to that target as well
Pull-pull
A replicator task pulls in updates from a target server, and responds
to update fetch requests from that target
Push-only
A replicator task only pushes its own updates to a target server, but
does not pull in any updates from the target
Pull-only
A replicator only pulls in updates from a target server, but does not
push any of its own updates to that target
Conflict Resolution
Safely merging two documents with conflicting OIDs.
Authentication: Validating Certificates
Public-key validation in Notes
Access Control
Parts in Notes subject to access control.
Part Description
Servers ACLs specifying access rights for servers and ports
Workstations Lists specifying execution rights for scripts and such
Databases ACLs specifying permissions for different types of users
Files ACLs used for controlling access by Web clients
Design notes ACLs to control the presentation and such of documents
Documents ACLs to control read and and write access to documents
Comparison of Web & Lotus Notes
Issue WWW Notes
Basic model Marked-up text List of text items (note)
Extensions Multimedia, scripts Multimedia, scripts
Storage model File oriented Database oriented
Network comm. HTTP RPC, E-mail
Interprocess comm. Operating sys. dependent Notes Object Services (NOS)
Client process Browser, Editor Browser, Design editor
Client extensions Plug-ins In basic client system
Server process Comparable to file server Comparable to database server
Server extensions Servlets, CGI programs Server tasks
Server clusters Transparent Nontransparent
Naming URNs, URLs URLs, identifiers
Synchronization Mainly local Mainly local
Caching Advanced Not documented
Replication Mirroring, CDNs Lazy
Fault tolerance Reliable comm. & clusters Clusters
Recovery No explicit support Single server
Authentication Mainly TLS Certificate validation
Access control Server dependent Extensive ACLs

More Related Content

What's hot

Application layer protocol
Application layer protocolApplication layer protocol
Application layer protocol
Tom Hanstead
 
Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]
Ravindra Raju Kolahalam
 

What's hot (20)

Networking in java
Networking in javaNetworking in java
Networking in java
 
Ipc
IpcIpc
Ipc
 
Java networking programs - theory
Java networking programs - theoryJava networking programs - theory
Java networking programs - theory
 
Inter-Process Communication (IPC) techniques on Mac OS X
Inter-Process Communication (IPC) techniques on Mac OS XInter-Process Communication (IPC) techniques on Mac OS X
Inter-Process Communication (IPC) techniques on Mac OS X
 
Interprocess communication (IPC) IN O.S
Interprocess communication (IPC) IN O.SInterprocess communication (IPC) IN O.S
Interprocess communication (IPC) IN O.S
 
Application layer protocol
Application layer protocolApplication layer protocol
Application layer protocol
 
Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]
 
Java Programming - 07 java networking
Java Programming - 07 java networkingJava Programming - 07 java networking
Java Programming - 07 java networking
 
Application layer
Application layerApplication layer
Application layer
 
Networking in java, Advanced programming
Networking in java, Advanced programmingNetworking in java, Advanced programming
Networking in java, Advanced programming
 
Network programming in Java
Network programming in JavaNetwork programming in Java
Network programming in Java
 
Java Networking
Java NetworkingJava Networking
Java Networking
 
XML-RPC (XML Remote Procedure Call)
XML-RPC (XML Remote Procedure Call)XML-RPC (XML Remote Procedure Call)
XML-RPC (XML Remote Procedure Call)
 
Introduction enovy
Introduction enovyIntroduction enovy
Introduction enovy
 
Socket Programming - nitish nagar
Socket Programming - nitish nagarSocket Programming - nitish nagar
Socket Programming - nitish nagar
 
IPC
IPCIPC
IPC
 
Java networking
Java networkingJava networking
Java networking
 
Basic Networking in Java
Basic Networking in JavaBasic Networking in Java
Basic Networking in Java
 
Appl layer
Appl layerAppl layer
Appl layer
 
Postfix
PostfixPostfix
Postfix
 

Similar to Distributed System by Pratik Tambekar

Introduction to Web Architecture
Introduction to Web ArchitectureIntroduction to Web Architecture
Introduction to Web Architecture
Chamnap Chhorn
 
Distributed web based systems
Distributed web based systemsDistributed web based systems
Distributed web based systems
Reza Gh
 
21. Application Development and Administration in DBMS
21. Application Development and Administration in DBMS21. Application Development and Administration in DBMS
21. Application Development and Administration in DBMS
koolkampus
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009
Cathie101
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009
Cathie101
 
OPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATIONOPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATION
SUMIT KUMAR
 
Configuring the Apache Web Server
Configuring the Apache Web ServerConfiguring the Apache Web Server
Configuring the Apache Web Server
webhostingguy
 
Lecture 1 Introduction to Web Development.pptx
Lecture 1 Introduction to Web Development.pptxLecture 1 Introduction to Web Development.pptx
Lecture 1 Introduction to Web Development.pptx
Kevi20
 

Similar to Distributed System by Pratik Tambekar (20)

Ds
DsDs
Ds
 
World Wide Web(WWW)
World Wide Web(WWW)World Wide Web(WWW)
World Wide Web(WWW)
 
Introduction to Web Architecture
Introduction to Web ArchitectureIntroduction to Web Architecture
Introduction to Web Architecture
 
Distributed web based systems
Distributed web based systemsDistributed web based systems
Distributed web based systems
 
21. Application Development and Administration in DBMS
21. Application Development and Administration in DBMS21. Application Development and Administration in DBMS
21. Application Development and Administration in DBMS
 
Www and http
Www and httpWww and http
Www and http
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009
 
OPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATIONOPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATION
 
Web Programming HTML.pptx
Web Programming HTML.pptxWeb Programming HTML.pptx
Web Programming HTML.pptx
 
web services8 (1).pdf for computer science
web services8 (1).pdf for computer scienceweb services8 (1).pdf for computer science
web services8 (1).pdf for computer science
 
Server Side Programming
Server Side ProgrammingServer Side Programming
Server Side Programming
 
Introduction to asp.net
Introduction to asp.netIntroduction to asp.net
Introduction to asp.net
 
8023.ppt
8023.ppt8023.ppt
8023.ppt
 
Unit 02: Web Technologies (1/2)
Unit 02: Web Technologies (1/2)Unit 02: Web Technologies (1/2)
Unit 02: Web Technologies (1/2)
 
PHP Training: Module 1
PHP Training: Module 1PHP Training: Module 1
PHP Training: Module 1
 
Configuring the Apache Web Server
Configuring the Apache Web ServerConfiguring the Apache Web Server
Configuring the Apache Web Server
 
JavaOne 2009 - TS-5276 - RESTful Protocol Buffers
JavaOne 2009 - TS-5276 - RESTful  Protocol BuffersJavaOne 2009 - TS-5276 - RESTful  Protocol Buffers
JavaOne 2009 - TS-5276 - RESTful Protocol Buffers
 
Fm 2
Fm 2Fm 2
Fm 2
 
Lecture 1 Introduction to Web Development.pptx
Lecture 1 Introduction to Web Development.pptxLecture 1 Introduction to Web Development.pptx
Lecture 1 Introduction to Web Development.pptx
 

More from Pratik Tambekar (11)

ASP DOT NET
ASP DOT NETASP DOT NET
ASP DOT NET
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
 
Data Mining Concepts and Techniques
Data Mining Concepts and TechniquesData Mining Concepts and Techniques
Data Mining Concepts and Techniques
 
What Is DATA MINING(INTRODUCTION)
What Is DATA MINING(INTRODUCTION)What Is DATA MINING(INTRODUCTION)
What Is DATA MINING(INTRODUCTION)
 
Distributed Transaction
Distributed TransactionDistributed Transaction
Distributed Transaction
 
How To Add System Call In Ubuntu OS
How To Add System Call In Ubuntu OSHow To Add System Call In Ubuntu OS
How To Add System Call In Ubuntu OS
 

Recently uploaded

Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
AldoGarca30
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
pritamlangde
 

Recently uploaded (20)

💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
💚Trustworthy Call Girls Pune Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
 
Introduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdfIntroduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdf
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 
Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)
 

Distributed System by Pratik Tambekar

  • 2. The World Wide Web Overall organization of the Web.
  • 3. Document Model (1) A simple Web page embedding a script written in JavaScript. <HTML> <!- Start of HTML document --> <BODY> <!- Start of the main body --> <H1>Hello World/H1> <!- Basic text to be displayed --> <P> <!- Start of a new paragraph --> <SCRIPT type = "text/javascript"> <!- identify scripting language --> document.writeln ("<H1>Hello World</H1>; // Write a line of text </SCRIPT> <!- End of scripting section --> </P> <!- End of paragraph section --> </BODY> <!- End of main body --> </HTML> <!- End of HTML section -->
  • 4. Document Model (2) An XML definition for referring to a journal article. (1) <!ELEMENT article (title, author+,journal)> (2) <!ELEMENT title (#PCDATA)> (3) <!ELEMENT author (name, affiliation?)> (4) <!ELEMENT name (#PCDATA)> (5) <!ELEMENT affiliation (#PCDATA)> (6) <!ELEMENT journal (jname, volume, number?, month? pages, year)> (7) <!ELEMENT jname (#PCDATA)> (8) <!ELEMENT volume (#PCDATA)> (9) <!ELEMENT number (#PCDATA)> (10) <!ELEMENT month (#PCDATA)> (11) <!ELEMENT pages (#PCDATA)> (12) <!ELEMENT year (#PCDATA)>
  • 5. Document Model (3) An XML document using the XML definitions from previous slide (1) <?xml = version "1.0"> (2) <!DOCTYPE article SYSTEM "article.dtd"> (3) <article> (4) <title> Prudent Engineering Practice for Cryptographic Protocols</title> (5) <author><name>M. Abadi</name></author> (6) <author><name>R. Needham</name></author> (7) <journal> (8) <jname>IEEE Transactions on Software Engineering</jname> (9) <volume>22</volume> (10) <number>12</number> (11) <month>January</month> (12) <pages>6 – 15</pages> (13) <year>1996</year> (14) </journal> (15) </article>
  • 6. Document Types Six top-level MIME types and some common subtypes. Type Subtype Description Text Plain Unformatted text HTML Text including HTML markup commands XML Text including XML markup commands Image GIF Still image in GIF format JPEG Still image in JPEG format Audio Basic Audio, 8-bit PCM sampled at 8000 Hz Tone A specific audible tone Video MPEG Movie in MPEG format Pointer Representation of a pointer device for presentations Application Octet-stream An uninterrupted byte sequence Postscript A printable document in Postscript PDF A printable document in PDF Multipart Mixed Independent parts in the specified order Parallel Parts must be viewed simultaneously
  • 7. Architectural Overview (1) The principle of using server-side CGI programs.
  • 8. Architectural Overview (2) An HTML document containing a JavaScript to be executed by the server (1) <HTML> (2) <BODY> (3) <P>The current content of <pre>/data/file.txt</PRE>is:</P> (4) <P> (5) <SERVER type = "text/javascript"); (6) clientFile = new File("/data/file.txt"); (7) if(clientFile.open("r")){ (8) while (!clientFile.eof()) (9) document.writeln(clientFile.readln()); (10) clientFile.close(); (11) } (12) </SERVER> (13) </P> (14) <P>Thank you for visiting this site.</P> (15) </BODY> (16) </HTML>
  • 9. Architectural Overview (3) Architectural details of a client and server in the Web.
  • 10. HTTP Connections a) Using nonpersistent connections. b) Using persistent connections
  • 11. HTTP Methods Operations supported by HTTP. Operation Description Head Request to return the header of a document Get Request to return a document to the client Put Request to store a document Post Provide data that is to be added to a document (collection) Delete Request to delete a document
  • 12. HTTP Messages (1) HTTP request message
  • 13. HTTP Messages (2) HTTP response message.
  • 14. HTTP Messages (3) Some HTTP message headers. Header Source Contents Accept Client The type of documents the client can handle Accept-Charset Client The character sets are acceptable for the client Accept-Encoding Client The document encodings the client can handle Accept-Language Client The natural language the client can handle Authorization Client A list of the client's credentials WWW-Authenticate Server Security challenge the client should respond to Date Both Date and time the message was sent ETag Server The tags associated with the returned document Expires Server The time how long the response remains valid From Client The client's e-mail address Host Client The TCP address of the document's server If-Match Client The tags the document should have If-None-Match Client The tags the document should not have If-Modified-Since Client Tells the server to return a document only if it has been modified since the specified time If-Unmodified-Since Client Tells the server to return a document only if it has not been modified since the specified time Last-Modified Server The time the returned document was last modified Location Server A document reference to which the client should redirect its request Referer Client Refers to client's most recently requested document Upgrade Both The application protocol the sender wants to switch to Warning Both Information about the status of the data in the message
  • 15. Clients (1) Using a plug-in in a Web browser.
  • 16. Clients (2) Using a Web proxy when the browser does not speak FTP.
  • 17. Servers General organization of the Apache Web server.
  • 18. Server Clusters (1) The principle of using a cluster of workstations to implement a Web service.
  • 19. Server Clusters (2) (a) The principle of TCP handoff.
  • 20. Server Clusters (3) (b) A scalable content-aware cluster of Web servers.
  • 21. Uniform Resource Locators (1) Often-used structures for URLs. a) Using only a DNS name. b) Combining a DNS name with a port number. c) combining an IP address with a port number.
  • 22. Uniform Resource Locators (2) Examples of URLs. Name Used for Example http HTTP http://www.cs.vu.nl:80/globe ftp FTP ftp://ftp.cs.vu.nl/pup/minx/README file Local file file:/edu/book/work/chp/11/11 data Inline data data:text/plain;charset=iso-8859-7,%e1%e2%e3 telnet Remote login telnet://flits.cs.vu.nl tel Telephone tel:+31201234567 modem Modem modem:+31201234567;type=v32
  • 23. Uniform Resource Names The general structure of a URN
  • 24. Web Proxy Caching The principle of cooperative caching
  • 25. Server Replication The principle working of the Akami CDN.
  • 26. Security (1) The position of TLS in the Internet protocol stack.
  • 27. Security (2) TLS with mutual authentication.
  • 28. Lotus Notes The general organization of a Lotus Notes system.
  • 29. Document Model Examples of different types of notes. Note type Category Description Document Data A user-oriented document such as a Web page Form Design Structure for creating, editing, and viewing a document Field Design Defines a field shared between a form and subforms View Design Structure for displaying a collection of documents ACL Administration Contains an access control list for the database ReplFormula Administration Describes the replication of the database
  • 30. Processes (1) The general organization of a Domino server.
  • 31. Processes (2) Request handling in a cluster of Domino servers.
  • 32. Naming A Notes URL for accessing a database.
  • 33. Identifiers Some major identifiers in Notes. Identifier Scope Description Universal ID World Globally unique identifier assigned to each note Originator ID World Identifier for a note, but includes history information Database ID Server Time-dependent identifier for a database Note ID Database Identifier of a note relative to a database instance Replica ID World Timestamp used to identify the same copies of a database
  • 34. Replication Replication schemes in Notes. Scheme Description Pull-push A replicator task pulls updates in from a target server, and pushes its own updates to that target as well Pull-pull A replicator task pulls in updates from a target server, and responds to update fetch requests from that target Push-only A replicator task only pushes its own updates to a target server, but does not pull in any updates from the target Pull-only A replicator only pulls in updates from a target server, but does not push any of its own updates to that target
  • 35. Conflict Resolution Safely merging two documents with conflicting OIDs.
  • 37. Access Control Parts in Notes subject to access control. Part Description Servers ACLs specifying access rights for servers and ports Workstations Lists specifying execution rights for scripts and such Databases ACLs specifying permissions for different types of users Files ACLs used for controlling access by Web clients Design notes ACLs to control the presentation and such of documents Documents ACLs to control read and and write access to documents
  • 38. Comparison of Web & Lotus Notes Issue WWW Notes Basic model Marked-up text List of text items (note) Extensions Multimedia, scripts Multimedia, scripts Storage model File oriented Database oriented Network comm. HTTP RPC, E-mail Interprocess comm. Operating sys. dependent Notes Object Services (NOS) Client process Browser, Editor Browser, Design editor Client extensions Plug-ins In basic client system Server process Comparable to file server Comparable to database server Server extensions Servlets, CGI programs Server tasks Server clusters Transparent Nontransparent Naming URNs, URLs URLs, identifiers Synchronization Mainly local Mainly local Caching Advanced Not documented Replication Mirroring, CDNs Lazy Fault tolerance Reliable comm. & clusters Clusters Recovery No explicit support Single server Authentication Mainly TLS Certificate validation Access control Server dependent Extensive ACLs