World Wide Web

World Wide Web

World Wide Web

Introduction

Most web developers like me are interested to learn theory as well as just practical code. I wanted to learn the theories like IANA, RFC, IETF, etc. After I learned this stuff, I decided to share it with you because I know there are too many developers like me who are interested in these basic terms, history, and somehow stories. In this series, we are gonna go to look at how web technology grows over time and also see some sample code. I'm gonna start the first series about World Wide Web. Hope you enjoy it 😊.

Basic concepts

  • World Wide Web: an information space in which the items of interest (referred to as resources) are identified by URIs.
  • Resource: anything that might be identified by a URI.
    • Information resource: a resource which has the property that all of its essential characteristics can be conveyed in a message.
  • Uniform Resource Identifier (URI): a global identifier in the context of the Web
  • Representation: data that encodes information about resource state.
  • Content negotiation: offering multiple representations for a resource and selecting the one that is the most appropriate when a representation must be served.
  • Dereferencing a URI: using a URI to access the referenced resource.
    • Access may take many forms, including retrieving, adding, or modifying a representation of the resource, and deleting some or all representations of the resource.
  • Web agent: a person or a piece of software acting on the Web on behalf of a person, entity, or process.
    • for example, a web crawler.

web

  • User agent: One type of Web agent, a piece of software acting on behalf of a person.
    • For example, web browser.

Three types of standards

By origin, there are three types of standards:

  • De facto standards: arise from common usage or market acceptance.
    • Examples: the QWERTY keyboard layout, TeX, PDF (before 2008).
  • De jure standards: are mandated by regulators at the local, state, federal, and/or international level.
    • Examples: International System of Units (SI), PDF (from 2008).
  • Voluntary consensus standards: are specified within a range of private institutions, including engineering societies, trade associations, accredited standards-setting organizations, and industry consortia.
    • Examples: the Internet protocol suite (commonly known as TCP/IP), HTML, CSS.

image

Web Standards

The following organizations are responsible for web standards:

Internet Assigned Numbers Authority (IANA)

  • Coordinates the allocation of codes and numbers that form the basis for the operation of the Internet. IANA official website.

    • Manages the DNS root zone, and the .int and .arpa domains.
    • Coordinates the allocation of IP addresses globally.
    • Maintains registries of codes and numbers used in a variety of Internet protocols.
      • See: Protocol Registries iana.org protocols
  • IANA is a function that is currently performed by the Internet Corporation for Assigned Names and Numbers (ICANN), a not-for-profit corporation.

image

Internet Engineering Task Force (IETF)

An international standards organization developing Internet standards.

  • For example, IETF develops the Internet protocol suite (commonly known as TCP/IP).
  • The IETF has no formal membership, no membership fee, participation is open to anyone.
  • The technical work is done in working groups.
  • Publishes Internet standards-related specifications in the RFC series of documents.

image

Request for Comments (RFC)

The RFC series contains technical and organizational documents about the Internet.

  • The RFC series of documents began in 1969 as part of ARPANET project.

  • RFC Editor edits, publishes, and catalogs RFCs. rfc-editor.org

  • By origin, the RFC series is split into four streams:
    • The Internet Engineering Task Force (IETF) Stream
    • The Internet Architecture Board (IAB) Stream
    • The Internet Research Task Force (IRTF) Stream
    • The Independent Submission Stream
  • Each RFC is identified by a number, such as RFC 9110.
  • Each RFC is available in ASCII text, such as: rfc-editor.org/rfc/rfc9110.txt
  • The list of all RFCs: rfc-editor.org/rfc-index.html
  • Published RFCs never change.
  • Various errors are fixed by errata.
  • Amendments can be also made by writing and publishing a revised RFC.
    • An RFC can obsolete or update earlier RFCs.
  • Example: Hypertext Transfer Protocol – HTTP/1.1

rfc1

  • The series of IETF RFCs contains the following two important sub-series:
  • BCPs and STDs are assigned a number in their subseries while retaining their RFC number.
  • Several RFCs may share the same BCP or STD number.
    • For example, an STD number identifies a standard not a document. rfc2
  • Standards Track: the set of maturity levels of RFCs that are intended to become Internet Standards.
    • Originally, three maturity levels were used:
      • Proposed Standard
      • Draft Standard
      • Internet Standard
    • Currently, the Proposed Standard and Internet Standard maturity levels are used.
  • Internet-Draft: a draft version of a specification made available for informal review and comment during the development.
    • May or may not eventually be published as an RFC.
    • Is subject to change or removal at any time.
    • Is valid for a maximum of six months.
    • Should not be cited or quoted in any formal document, except as “work in progress”.
  • On nearly every April 1 since 1989, one ore more funny RFCs has been published.

World Wide Web Consortium (W3C)

The W3C is an international community where member organizations, a full-time staff, and the public work together to develop Web standards. [...] W3C's mission is to lead the Web to its full potential.

W3C publishes documents called Recommendations that define Web technologies and are considered Web standards.

Web for All: the Web must be available to all people, whatever their hardware, software, network infrastructure, native language, culture, geographical location, or physical or mental ability.

  • Related concepts: web accessibility, internationalization

Web on Everything: the Web must be accessible from a wide variety of devices.

  • E.g., mobile phones, smart phones, PDA devices, domestic appliances, ...

w3c

Maturity Levels of W3C Technical Reports

Working draft (WD): a document that is published for review by the community, including W3C members, the public, and other technical organizations.

  • Some, but not all, Working Drafts are meant to advance to Recommendation.

Candidate Recommendation (CR): a document that has already received wide review and is published to gather implementation experience. Proposed Recommendation (PR): a document that is of sufficient quality to become a Recommendation. Recommendation (REC): a Web standard suitable for wide adoption. Group Note (NOTE): a document that is not intended to be a formal standard.

  • Are published to document information other than technical specifications, such as use cases motivating a specification and best practices for its use.

A recommendation may become superseded or obsolete:

  • Superseded Recommendation: a specification that has been replaced by a newer version.

    • Example:
      • XHTML 1.0 The Extensible HyperText Markup Language (Second Edition) w3.org/TR/xhtml1
  • Obsolete Recommendation: a specification that the W3C has determined lacks sufficient market relevance to continue recommending it for implementation.

W3C

WHATWG

Web Hypertext Application Technology Working Group (WHATWG) whatwg.org

History

It was founded by programmers of Apple, the Mozilla Foundation, and Opera Software in 2004 who were concerned about the W3C’s activity related to the development of HTML.

Operation

Its operation is coordinated by the Steering Group whose current members are Apple, Google, Microsoft, and Mozilla.

Participation

Participation is open to the public. See: WHATWG – Participation participate.whatwg.org

Development model

The WHATWG develops specifications called “Living Standards” that are continuously updated.

image

Did you find this article valuable?

Support Mojtaba Maleki by becoming a sponsor. Any amount is appreciated!