Architecture of the World Wide Web, Volume One

Total Page:16

File Type:pdf, Size:1020Kb

Architecture of the World Wide Web, Volume One Architecture of the World Wide Web, Volume One W3C Recommendation 15 December 2004 This version: http://www.w3.org/TR/2004/REC-webarch-20041215/ Latest version: http://www.w3.org/TR/webarch/ Previous version: http://www.w3.org/TR/2004/PR-webarch-20041105/ Editors: Ian Jacobs, W3C Norman Walsh, Sun Microsystems, Inc. Authors: See acknowledgments (§8). Please refer to the errata for this document, which may include some normative corrections. See also translations. Copyright © 2002-2004 W3C ® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. Your interactions with this site are in accordance with our public and Member privacy statements. Abstract The World Wide Web uses relatively simple technologies with sufficient scalability, efficiency and utility that they have resulted in a remarkable information space of interrelated resources, growing across languages, cultures, and media. In an effort to preserve these properties of the information space as the technologies evolve, this architecture document discusses the core design components of the Web. They are identification of resources, representation of resource state, and the protocols that support the interaction between agents and resources in the space. We relate core design components, constraints, and good practices to the principles and properties they support. Status of this document This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/. W3C Recommendation 15 December 2004 Architecture of the World Wide Web, Volume One This is the 15 December 2004 Recommendation of “Architecture of the World Wide Web, Volume One.” This document has been reviewed by W3C Members, by software developers, and by other W3C groups and interested parties, and is endorsed by the Director as a W3C Recommendation. It is a stable document and may be used as reference material or cited from another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its widespread deployment. This enhances the functionality and interoperability of the Web. This document was developed by W3C's Technical Architecture Group (TAG), which, by charter maintains a list of architectural issues. The scope of this document is a useful subset of those issues; it is not intended to address all of them. The TAG intends to address the remaining (and future) issues now that Volume One is published as a W3C Recommendation. A complete history of changes so this document is available. Please send comments on this document to [email protected] (public archive of public-webarch-comments). TAG technical discussion takes place on [email protected] (public archive of www-tag). This document was produced under the W3C IPR policy of the July 2001 Process Document. The TAG maintains a public list of patent disclosures relevant to this document; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) with respect to this specification should disclose the information in accordance with section 6 of the W3C Patent Policy. Table of Contents 1. Introduction............................................................................................................................. 4 1.1. About this Document .................................................................................................... 7 1.1.1. Audience of this Document ................................................................................ 8 1.1.2. Scope of this Document ..................................................................................... 8 1.1.3. Principles, Constraints, and Good Practice Notes ............................................. 9 2. Identification ........................................................................................................................... 9 2.1. Benefits of URIs ........................................................................................................... 9 2.2. URI/Resource Relationships ...................................................................................... 10 2.2.1. URI collision ..................................................................................................... 11 2.2.2. URI allocation................................................................................................... 12 2.2.3. Indirect Identification ........................................................................................ 13 2.3. URI Comparisons ....................................................................................................... 13 2.3.1. URI aliases....................................................................................................... 14 2.3.2. Representation reuse....................................................................................... 14 2.4. URI Schemes ............................................................................................................. 15 2.4.1. URI Scheme Registration................................................................................. 16 2.5. URI Opacity ................................................................................................................ 16 2.6. Fragment Identifiers ................................................................................................... 17 2.7. Future Directions for Identifiers .................................................................................. 18 2.7.1. Internationalized identifiers .............................................................................. 18 2.7.2. Assertion that two URIs identify the same resource ........................................ 18 3. Interaction............................................................................................................................. 18 3.1. Using a URI to Access a Resource ............................................................................ 19 3.1.1. Details of retrieving a representation ............................................................... 20 3.2. Representation Types and Internet Media Types ...................................................... 21 3.2.1. Representation types and fragment identifier semantics ................................. 22 3.2.2. Fragment identifiers and content negotiation ................................................... 22 3.3. Inconsistencies between Representation Data and Metadata ................................... 23 2 Architecture of the World Wide Web, Volume One W3C Recommendation 15 December 2004 3.4. Safe Interactions ........................................................................................................ 25 3.4.1. Unsafe interactions and accountability............................................................. 26 3.5. Representation Management ..................................................................................... 27 3.5.1. URI persistence................................................................................................ 28 3.5.2. Linking and access control............................................................................... 28 3.5.3. Supporting Navigation...................................................................................... 29 3.6. Future Directions for Interaction ................................................................................. 29 4. Data Formats........................................................................................................................ 30 4.1. Binary and Textual Data Formats............................................................................... 30 4.2. Versioning and Extensibility ....................................................................................... 31 4.2.1. Versioning ........................................................................................................ 31 4.2.2. Versioning and XML namespace policy ........................................................... 32 4.2.3. Extensibility ...................................................................................................... 33 4.2.4. Composition of data formats ............................................................................ 34 4.3. Separation of Content, Presentation, and Interaction ................................................ 34 4.4. Hypertext .................................................................................................................... 36 4.4.1. URI references ................................................................................................. 37 4.5. XML-Based Data Formats.......................................................................................... 37 4.5.1. When to use an XML-based format ................................................................. 37 4.5.2. Links in XML..................................................................................................... 38 4.5.3. XML namespaces ............................................................................................ 38 4.5.4. Namespace documents ................................................................................... 39 4.5.5. QNames in XML..............................................................................................
Recommended publications
  • Architecture of the World Wide Web, First Edition Editor's Draft 14 October 2004
    Architecture of the World Wide Web, First Edition Editor's Draft 14 October 2004 This version: http://www.w3.org/2001/tag/2004/webarch-20041014/ Latest editor's draft: http://www.w3.org/2001/tag/webarch/ Previous version: http://www.w3.org/2001/tag/2004/webarch-20040928/ Latest TR version: http://www.w3.org/TR/webarch/ Editors: Ian Jacobs, W3C Norman Walsh, Sun Microsystems, Inc. Authors: See acknowledgments (§8, pg. 42). Copyright © 2002-2004 W3C ® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. Your interactions with this site are in accordance with our public and Member privacy statements. Abstract The World Wide Web is an information space of interrelated resources. This information space is the basis of, and is shared by, a number of information systems. In each of these systems, people and software retrieve, create, display, analyze, relate, and reason about resources. The World Wide Web uses relatively simple technologies with sufficient scalability, efficiency and utility that they have resulted in a remarkable information space of interrelated resources, growing across languages, cultures, and media. In an effort to preserve these properties of the information space as the technologies evolve, this architecture document discusses the core design components of the Web. They are identification of resources, representation of resource state, and the protocols that support the interaction between agents and resources in the space. We relate core design components, constraints, and good practices to the principles and properties they support. Status of this document This section describes the status of this document at the time of its publication.
    [Show full text]
  • Supplement 211: Dicomweb Support for the Application/Zip Payload
    5 Digital Imaging and Communications in Medicine (DICOM) Supplement 211: 10 DICOMweb Support for the application/zip Payload 15 20 Prepared by: Bill Wallace, Brad Genereaux DICOM Standards Committee, Working Group 27 1300 N. 17th Street Rosslyn, Virginia 22209 USA 25 Developed in accordance with work item WI 2018 -09 -C VERSION: 19 January 16, 2020 Table of Contents Scope and Field of Application ........................................................................................................................................ iii 30 Open Questions ....................................................................................................................................................... iii Closed Questions .................................................................................................................................................... iiii 8.6.1.3.1 File Extensions ................................................................................................................................. viv 8.6.1.3.2 BulkData URI ................................................................................................................................... viv 8.6.1.3.3 Logical Format ........................................................................................................................................ viv 35 8.6.1.3.4 Metadata Representations ...................................................................................................................... viv Scope and Field of Application
    [Show full text]
  • Fast and Scalable Pattern Mining for Media-Type Focused Crawling
    Provided by the author(s) and NUI Galway in accordance with publisher policies. Please cite the published version when available. Title Fast and Scalable Pattern Mining for Media-Type Focused Crawling Author(s) Umbrich, Jürgen; Karnstedt, Marcel; Harth, Andreas Publication Date 2009 Jürgen Umbrich, Marcel Karnstedt, Andreas Harth "Fast and Publication Scalable Pattern Mining for Media-Type Focused Crawling", Information KDML 2009: Knowledge Discovery, Data Mining, and Machine Learning, in conjunction with LWA 2009, 2009. Item record http://hdl.handle.net/10379/1121 Downloaded 2021-09-27T17:53:57Z Some rights reserved. For more information, please see the item record link above. Fast and Scalable Pattern Mining for Media-Type Focused Crawling∗ [experience paper] Jurgen¨ Umbrich and Marcel Karnstedt and Andreas Harthy Digital Enterprise Research Institute (DERI) National University of Ireland, Galway, Ireland fi[email protected] Abstract 1999]) wants to infer the topic of a target page before de- voting bandwidth to download it. Further, a page’s content Search engines targeting content other than hy- may be hidden in images. pertext documents require a crawler that discov- ers resources identifying files of certain media types. Na¨ıve crawling approaches do not guaran- A crawler for media type targeted search engines is fo- tee a sufficient supply of new URIs (Uniform Re- cused on the document formats (such as audio and video) source Identifiers) to visit; effective and scalable instead of the topic covered by the documents. For a scal- mechanisms for discovering and crawling tar- able media type focused crawler it is absolutely essential geted resources are needed.
    [Show full text]
  • Describing Media Content of Binary Data in XML W3C Working Group Note 4 May 2005
    Table of Contents Describing Media Content of Binary Data in XML W3C Working Group Note 4 May 2005 This version: http://www.w3.org/TR/2005/NOTE-xml-media-types-20050504 Latest version: http://www.w3.org/TR/xml-media-types Previous version: http://www.w3.org/TR/2005/NOTE-xml-media-types-20050502 Editors: Anish Karmarkar, Oracle Ümit Yalçınalp, SAP Copyright © 2005 W3C ® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply. > >Abstract This document addresses the need to indicate the content-type associated with binary element content in an XML document and the need to specify, in XML Schema, the expected content-type(s) associated with binary element content. It is expected that the additional information about the content-type will be used for optimizing the handling of binary data that is part of a Web services message. Status of this Document This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/. This document is a W3C Working Group Note. This document includes the resolution of the comments received on the Last Call Working Draft previously published. The comments on this document and their resolution can be found in the Web Services Description Working Group’s issues list. There is no technical difference between this document and the 2 May 2005 version; the acknowledgement section has been updated to thank external contributors.
    [Show full text]
  • 2016 Technical Guidelines for Digitizing Cultural Heritage Materials
    September 2016 Technical Guidelines for Digitizing Cultural Heritage Materials Creation of Raster Image Files i Document Information Title Editor Technical Guidelines for Digitizing Cultural Heritage Materials: Thomas Rieger Creation of Raster Image Files Document Type Technical Guidelines Publication Date September 2016 Source Documents Title Editors Technical Guidelines for Digitizing Cultural Heritage Materials: Don Williams and Michael Creation of Raster Image Master Files Stelmach http://www.digitizationguidelines.gov/guidelines/FADGI_Still_Image- Tech_Guidelines_2010-08-24.pdf Document Type Technical Guidelines Publication Date August 2010 Title Author s Technical Guidelines for Digitizing Archival Records for Electronic Steven Puglia, Jeffrey Reed, and Access: Creation of Production Master Files – Raster Images Erin Rhodes http://www.archives.gov/preservation/technical/guidelines.pdf U.S. National Archives and Records Administration Document Type Technical Guidelines Publication Date June 2004 This work is available for worldwide use and reuse under CC0 1.0 Universal. ii Table of Contents INTRODUCTION ........................................................................................................................................... 7 SCOPE .......................................................................................................................................................... 7 THE FADGI STAR SYSTEM .......................................................................................................................
    [Show full text]
  • LAMP and the REST Architecture Step by Step Analysis of Best Practice
    LAMP and the REST Architecture Step by step analysis of best practice Santiago Gala High Sierra Technology S.L.U. Minimalistic design using a Resource Oriented Architecture What is a Software Platform (Ray Ozzie ) ...a relevant and ubiquitous common service abstraction Creates value by leveraging participants (e- cosystem) Hardware developers (for OS level platforms) Software developers Content developers Purchasers Administrators Users Platform Evolution Early stage: not “good enough” solution differentiation, innovation, value flows Later: modular architecture, commoditiza- tion, cloning no premium, just speed to market and cost driven The platform effect - ossification, followed by cloning - is how Chris- tensen-style modularity comes to exist in the software industry. What begins as a value-laden proprietary platform becomes a replaceable component over time, and the most successful of these components finally define the units of exchange that power commodity networks. ( David Stutz ) Platform Evolution (II) Example: PostScript Adobe Apple LaserWriter Aldus Pagemaker Desktop Publishing Linotype imagesetters NeWS (Display PostScript) OS X standards (XSL-FO -> PDF, Scribus, OOo) Software Architecture ...an abstraction of the runtime elements of a software system during some phase of its oper- ation. A system may be composed of many lev- els of abstraction and many phases of opera- tion, each with its own software architecture. Roy Fielding (REST) What is Architecture? Way to partition a system in components
    [Show full text]
  • Media Type Application/Vnd.Oracle.Resource+Json
    New Media Type for Oracle REST Services to Support Specialized Resource Types O R A C L E WHITEPAPER | M A R C H 2 0 1 5 Disclaimer The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. Contents Introduction 3 Conventions and Terminology 3 Core terminology 3 Singular Resource 4 Collection Resource 8 Exception Detail Resource 13 Status Resource 14 Query Description Resource 15 create-form Resource 16 edit-form Resource 17 JSON Schema 18 IANA Considerations 28 References 28 Change Log 28 2 | ORACLE WHITEPAPER: NEW MEDIA TYPE FOR ORACLE REST SERVICES TO SUPPORT SPECIALIZED RESOURCE TYPES Introduction This document defines a new media type, application/vnd.oracle.resource+json, which can be used by REST services to support the specialized resource types defined in the following table. Resource Type Description Singular Single entity resource, such as an employee or a purchase order. For more information, see “Singular Resource.” Collection List of items, such as employees or purchase orders. See “Collection Resource.” Exception Detail Detailed information about a failed request. See “Exception Detail Resource.” Status Status of a long running job. See “Status Resource.” Query description Query syntax description used by client to build the "q" query parameter.
    [Show full text]
  • Social Media Solution Guide
    Social Media Solution Guide Deploy Social Messaging Server with an RSS Channel 9/30/2021 Deploy Social Messaging Server with an RSS Channel Deploy Social Messaging Server with an RSS Channel Contents • 1 Deploy Social Messaging Server with an RSS Channel • 1.1 Prepare the RSS Channel • 1.2 Configure the Options • 1.3 Interaction Attributes • 1.4 Next Steps Social Media Solution Guide 2 Deploy Social Messaging Server with an RSS Channel Warning The APIs and other features of social media sites may change with little warning. The information provided on this page was correct at the time of publication (22 February 2013). For an RSS channel, you need two installation packages: Social Messaging Server and Genesys Driver for Use with RSS. The Driver adds RSS-specific features to Social Messaging Server and does not require its own Application object in the Configuration Server database. You can also create a Custom Media Channel Driver. Important Unlike some other eServices components, Social Messaging Server does not require Java Environment and Libraries for eServices and UCS. Prepare the RSS Channel 1. Deploy Social Messaging Server. 2. Run the installation for Genesys Driver for Use with RSS, selecting the desired Social Messaging Server object: Social Media Solution Guide 3 Deploy Social Messaging Server with an RSS Channel Select your Social Messaging Server Object 3. Locate the driver-for-rss-options.cfg configuration file in the \<Social Messaging Server application>\media-channel-drivers\channel-rss directory. 4. In Configuration Manager, open your Social Messaging Server Application, go to the Options tab, and import driver-for-rss-options.cfg.
    [Show full text]
  • Web Services Protocol: SOAP Vs REST
    International Journal of Advanced Research in Computer Engineering & Technology (IJARCET) Volume 4 Issue 5, May 2015 Web Services Protocol: SOAP vs REST Vibha Kumari Abstract – Web service makes the work easier by binding Transfer Protocol (HTTP) and its Extensible Markup common functionality into one entity. But the question arises Language (XML)." as what to which to use and when? Basically SOAP and REST are two protocol used to communicate for exchange of "REST: Representational State Transfer (REST) is a message. SOAP (Simple Object Access Protocol) and REST software architecture style consisting of guidelines and (Representational State Transfer) approaches work, but both have advantages and disadvantages to interacting with web best practices for creating scalable web services. REST is a services, and it is up to the web developer to make the decision coordinated set of constraints applied to the design of of which approach may be best for each particular case. components in a distributed hypermedia system that can SOAP (Simple Object Access Protocol), was created in 1998 lead to a more maintainable architecture. REST efficiently by Dave Winer in Collaboration with Microsoft. Develop by a uses HTTP verbs" large software company, this protocol addressed the goal of addressing the needs of enterprise market. Before proceeding ahead let’s have a look at software REST (Representational State Transfer) was created in 2000 architecture style. An architectural pattern is a solution to a by Roy Fielding in UC, Irvine. Developed in an academic frequently occurring problem in software architecture environment, this architectural style embraces the philosophy of the open web. Sometimes it’s very difficult to analyze which within a given context.[1] Architectural patterns are similar protocol to use, so this paper might help you to find the to software design patterns but have a broader scope.
    [Show full text]
  • Wrangling Messy CSV Files by Detecting Row and Type Patterns
    Wrangling Messy CSV Files by Detecting Row and Type Patterns Gerrit J.J. van den Burg1, Alfredo Nazábal1, and Charles Sutton1,2,3 1The Alan Turing Institute, London, UK 2Google, Inc. Mountain View, CA, USA 3School of Informatics, The University of Edinburgh, UK November 29, 2018 Abstract It is well known that data scientists spend the majority of their time on preparing data for analysis. One of the first steps in this preparation phase is to load the data from the raw storage format. Comma-separated value (CSV) files are a popular format for tabular data due to their simplicity and ostensible ease of use. However, formatting standards for CSV files are not followed consistently, so each file requires manual inspection and potentially repair before the data can be loaded, an enormous waste of human effort for a task that should be one of the simplest parts of data science. The first and most essential step in retrieving data from CSV files is deciding on the dialect of the file, such as the cell delimiter and quote character. Existing dialect detection approaches are few and non-robust. In this paper, we propose a dialect detection method based on a novel measure of data consistency of parsed data files. Our method achieves 97% overall accuracy on a large corpus of real- world CSV files and improves the accuracy on messy CSV files by almost 22% compared to existing approaches, including those in the Python standard library. Keywords — Data Wrangling, Data Parsing, Comma Separated Values arXiv:1811.11242v1 [cs.DB] 27 Nov 2018 1 CSV is a textbook example of how not to design a textual file format.
    [Show full text]
  • Client-Side Web Technologies
    Client-Side Web Technologies Introduction to HTTP MIME • Multipurpose Internet Mail Extensions • Introduced in 1996 • Created to extend email to http://www.maran.com/dictionary/m/mime/image.gif support: • Text in character sets other than ASCII • Non-text content • Multi-part message Bodies • Header info in non-ASCII character sets MIME Header Fields • MIME-Version • Declares version of message Body format standard in use • Content-Type • DescriBes the data contained in the Body • Content-Disposition • DescriBes how a Body part should Be presented (e.g. inline or attachment) • There are others But we won’t discuss them… MIME Content-Type • DescriBes the data in the Body of a MIME entity • Consists of: • Top level media type • Declares the general type of data • SuBtype • Specifies a specific format for that type of data • Parameters that modify the suBtype (optional) • Due to expanded use, now known as Internet Media Types • IANA maintains the list of registered Media Types: • http://www.iana.org/assignments/media-types Top-Level Media Types • Text • Textual information • Image • Image data • Audio • Audio data • Video • Video data • Application • Some other kind of data (typically Binary, to Be processed By some application) • Multipart • Data consisting of multiple entities of independent data types • SuBtypes such as mixed, alternative, byteranges, and form-data (for HTML forms) MIME Message Examples From: John Doe <[email protected]> Subject: Hello MIME-Version: 1.0 Content-Type: text/plain; This is a message in MIME format. From:
    [Show full text]
  • Supplement 174: Restful Rendering Page 1
    9 September 2015 Supplement 174: Restful Rendering Page 1 5 10 Digital Imaging and Communications in Medicine (DICOM) Supplement 174: RESTful Rendering 15 20 DICOM Standards Committee, Working Group 27: Web Technologies 1300 N. 17th Street Suite 900 Rosslyn, Virginia 22209 USA VERSION: Final Text Developed in accordance with work item 2014-04-A. 25 9 September 2015 Supplement 174: Restful Rendering Page 2 Table of Contents 1 Scope and Field of Application 3 2 Normative References 3 4 Terms and Definitions 3 30 6 Data Communication Requirements 4 6.1.1 Media Types 4 6.1.1.1 Multipart Media Types 5 6.1.1.2 DICOM Resource Categories 5 6.1.1.3 Rendered Media Types 6 35 6.1.1.4 Acceptable Media Types 7 6.1.1.5 Accept Query Parameter 7 6.1.1.6 Accept Header Field 8 6.1.1.7 Selected Media Type 8 6.1.2 Character Sets 9 40 6.1.2.1 Acceptable Character Sets 10 6.1.2.2 Character Set Query Parameter 10 6.1.2.3 Accept-Charset Header Field 10 6.1.2.4 Selected Character Set 10 6.2.2 List of Media Types Supported Acceptable in the Response 11 45 6.2.2.1 Query Parameters 11 6.2.2.1.1 Accept Query Parameter 11 6.2.2.1.2 Character Set Query Parameter 11 6.2.2.2 Header Fields 12 6.2.2.2.1 Accept 12 50 6.2.2.2.2 Accept-Charset 12 6.5 WADO-RS Request/Response 12 6.5.8 RS Retrieve Rendered Transaction 13 6.5.8.1 Request 13 6.5.8.1.1 Target Resources 13 55 6.5.8.1.2 Query Parameters 14 6.5.8.1.3 Header Fields 16 6.5.8.1.4 Payload 16 6.5.8.2 Behavior 16 6.5.8.2.1 Presentation State Instance 17 60 6.5.8.3 Response 17 6.5.8.3.1 Status Codes 18 6.5.8.3.2 Header Fields 18 6.5.8.3.3 Payload 18 6.5.8.4 Media Types 18 65 8.1.5 MIME Acceptable Media Types of the Response 18 8.1.6 Charset of the Response 19 Annex D IANA Character Set Mapping (Informative) 20 9 September 2015 Supplement 174: Restful Rendering Page 3 70 1 Scope and Field of Application This supplement defines rendering functionality for Restful Services (RS) that is largely equivalent to the functionality in the URI and WS services.
    [Show full text]