From Computer Science Wiki
Revision as of 08:26, 17 October 2022 by Mr. MacKenty (talk | contribs) (→‎XSLT Characteristics)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Web Science[1]

Characteristics of the web[edit]

You must memorize this content. You should be able to recognize these acronyms and identify the characteristics of each. The video below is an EXCELLENT introduction and overview of the web:

HTTP Definition[edit]

The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, and hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web.[2].


HTTP Characteristics[edit]

  • HTTP is an application-layer protocol
  • HTTP functions as a request–response protocol [4]
  • HTTP is the protocol to exchange or transfer hypertext [5]
  • HTTP is stateless - Each transaction between the client and server is independent and no state is set based on a previous transaction or condition.[6]
  • HTTP Uses requests from the client to the server and responses from the server to the client for sending and receiving data. [7]
  • HTTP utilizes headers at the start of each message.[8]


HTTPS Definition[edit]

HTTPS (also called HTTP over TLS, HTTP over SSL, and HTTP Secure) is a protocol for secure communication over a computer network which is widely used on the Internet. HTTPS consists of communication over Hypertext Transfer Protocol (HTTP) within a connection encrypted by Transport Layer Security, or its predecessor, Secure Sockets Layer. The main motivation for HTTPS is authentication of the visited website and protection of the privacy and integrity of the exchanged data.[9]

Transport Layer Security (TLS) is a cryptographic protocols that provide communications security over a computer network.[10].

The characteristics of TLS are:

  • The connection is private (or secure) because symmetric cryptography is used to encrypt the data transmitted. The keys for this symmetric encryption are generated uniquely for each connection and are based on a shared secret negotiated at the start of the session. The server and client negotiate the details of which encryption algorithm and cryptographic keys to use before the first byte of data is transmitted. The negotiation of a shared secret is both secure (the negotiated secret is unavailable to eavesdroppers and cannot be obtained, even by an attacker who places themselves in the middle of the connection) and reliable (no attacker can modify the communications during the negotiation without being detected).
  • The identity of the communicating parties can be authenticated using public-key cryptography. This authentication can be made optional, but is generally required for at least one of the parties (typically the server).
  • The connection ensures integrity because each message transmitted includes a message integrity check using a message authentication code to prevent undetected loss or alteration of the data during transmission.

HTTPS Characteristics[edit]

  • HTTPS URLs begin with "https://" and use port 443 by default, whereas HTTP URLs begin with "http://" and use port 80 by default
  • HTTPS encrypts the request and response. If you were to snoop (or spy) on the network data, you would only (theoretically) see the origin and destination IP and port numbers
  • HTTPS piggybacks (or rides) on top of HTTP

The RFCs state the actions that a client and a server perform to exchange requests and responses in an appropriate way for each version of the HTTP protocol. An HTTP request is made by a client, to a named host, which is located on a server. The aim of the request is to access a resource on the server. An HTTP response is made by a server to a client. The aim of the response is to provide the client with the resource it requested, or to inform the client that the action it requested has been carried out, or to inform the client that an error occurred in processing its request. All these actions are described as "requirements". A client or server that fulfils the requirements for its version of the HTTP protocol is said to be "compliant" with the HTTP specification. In the HTTP response that is sent to a client, the status code, which is a 3-digit number, is accompanied by a reason phrase (also known as status text) that summarizes the meaning of the code. With the HTTP version of the response, these items are placed in the first line of the response, which is therefore known as the status line.[11]

HTML Definition[edit]

HyperText Markup Language, commonly referred to as HTML, is the standard markup language used to create web pages[12]. Please see our wiki page on HTML for a deeper discussion of HTML.

HTML Characteristics[edit]

  • HTML is a markup language. A markup language is a system for annotating a document in a way that is syntactically distinguishable from the text [13]
  • HTML markup consists of several key components, including those called tags (and their attributes), character-based data types, character references and entity references.[14]
  • HTML tags most commonly come in pairs although some represent empty elements and so are unpaired. [15]
  • The first tag in such a pair is the start tag, and the second is the end tag (they are also called opening tags and closing tags).[16]


URL Definition[edit]

A Uniform Resource Locator (URL), is a reference to a web resource that specifies its location on a computer network and a mechanism for retrieving it. A URL is a specific type of Uniform Resource Identifier (URI).[17]

URL Characteristics[edit]

  • URL's have different parts. Every URL MUST have:
    • scheme, path and host
  • URL's have different parts. Every URL MIGHT have:
    • user information
    • port
    • query
    • fragment

A URL for HTTP (or HTTPS) is normally made up of three or four components:

  1. A scheme. The scheme identifies the protocol to be used to access the resource on the Internet. It can be HTTP (without SSL) or HTTPS (with SSL).
  2. A host. The host name identifies the host that holds the resource. For example, A server provides services in the name of the host, but hosts and servers do not have a one-to-one mapping. Refer to Host names. Host names can also be followed by a port number. Refer to Port numbers. Well-known port numbers for a service are normally omitted from the URL. Most servers use the well-known port numbers for HTTP and HTTPS , so most HTTP URLs omit the port number.
  3. A path. The path identifies the specific resource in the host that the web client wants to access. For example, /software/htp/cics/index.html.
  4. A query string. If a query string is used, it follows the path component, and provides a string of information that the resource can use for some purpose (for example, as parameters for a search or as data to be processed). The query string is usually a string of name and value pairs; for example, term=bluebird. Name and value pairs are separated from each other by an ampersand (&); for example, term=bluebird&source=browser-search.

The scheme and host components of a URL are not defined as case-sensitive, but the path and query string are case-sensitive. Typically, the whole URL is specified in lowercase.

The components of the URL are combined and delimited as follows:

  1. The scheme is followed by a colon and two forward slashes.
  2. If a port number is specified, that number follows the host name, separated by a colon.
  3. The path name begins with a single forward slash.
  4. If a query string is specified, it is preceded by a question mark.[18]

Please click here for an example of these different parts. In your normal day-to-day use, you probably only use a scheme, path and a host.

XML Definition[edit]

In computing, Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable.[19]


XML Characteristics[edit]

  • XML consists mostly of markup and content[20]
    • Generally, strings that constitute markup either begin with the character < and end with a > [21]
    • The text between the markup is the content[22]
  • XML has tags.
    • A tag is a markup construct that begins with < and ends with >. Tags come in three flavors, start tag, end tag, and empty-element tag[23]
  • XML may have a declaration that describes some information about themselves.[24]


XSLT Definition[edit]

XSLT (Extensible Stylesheet Language Transformations) is a language for transforming XML documents into other XML documents or other formats such as HTML for web pages, plain text or XSL Formatting Objects, which may subsequently be converted to other formats, such as PDF, PostScript and PNG. XSLT 1.0 is widely supported in modern web browsers. [25]


XSLT Characteristics[edit]

CSS Definition[edit]

Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language. CSS is designed primarily to enable the separation of document content from document presentation, including aspects such as the layout, colors, and fonts. This separation can improve content accessibility, provide more flexibility and control in the specification of presentation characteristics, enable multiple HTML pages to share formatting by specifying the relevant CSS in a separate .css file, and reduce complexity and repetition in the structural content. [26]

CSS Characteristics[edit]

  • CSS has selectors. Selectors declare which part of the markup a style applies to by matching tags and attributes in the markup itself.[27]
  • CSS has declaration block. A declaration block consists of a list of declarations in braces. Each declaration itself consists of a property, a colon (:), and a value.[28]
  • CSS has specificity. Specificity refers to the relative weights of various rules. It determines which styles apply to an element when more than one rule could apply.[29]
  • CSS has inheritance. Inheritance is a key feature in CSS; it relies on the ancestor-descendant relationship to operate. Inheritance is the mechanism by which properties are applied not only to a specified element, but also to its descendants[30]


Do you understand this?[edit]

You must simply memorize these. There isn't anything fancy about this. If you need help memorizing, please use a mnemonic strategy.


These standards are used from the IB Computer Science Subject Guide[31]

  • Identify the characteristics of the following: HTTP, HTTPS, HTML, URL, XML, XSLT, CSS.


  31. IB Diploma Programme Computer science guide (first examinations 2014). Cardiff, Wales, United Kingdom: International Baccalaureate Organization. January 2012.