In the context of the World Wide Web, a bookmark is a Uniform Resource Identifier, stored for retrieval in any of various storage formats. All modern web browsers include bookmark features. Bookmarks are called favorites or Internet shortcuts in Internet Explorer, by virtue of that browser's large market share, these terms have been synonymous with bookmark since the first browser war. Bookmarks are accessed through a menu in the user's web browser, folders are used for organization. In addition to bookmarking methods within most browsers, many external applications offer bookmark management. Bookmarks have been incorporated in browsers since the Mosaic browser in 1993. Bookmark lists were called Hotlists in previous versions of Opera. Other early web browsers such as ViolaWWW and Cello had bookmarking features. With the advent of social bookmarking, shared bookmarks have become a means for users sharing similar interests to pool web resources, or to store their bookmarks in such a way that they are not tied to one specific computer or browser.
Live bookmarks are updated automatically. Comparison of browser synchronizers Enterprise bookmarking Favicon Smart keyword Social bookmark link generator Social bookmarking XBEL Bookmark Managers at Curlie
Cascading Style Sheets
This cascading priority scheme is predictable. The CSS specifications are maintained by the World Wide Web Consortium. Internet media type text/css is registered for use with CSS by RFC 2318; the W3C operates a free CSS validation service for CSS documents. In addition to HTML, other markup languages support the use of CSS including XHTML, plain XML, SVG, XUL. CSS has a simple syntax and uses a number of English keywords to specify the names of various style properties. A style sheet consists of a list of rules; each rule or rule-set consists of one or more selectors, a declaration block. In CSS, selectors declare which part of the markup a style applies to by matching tags and attributes in the markup itself. Selectors may apply to the following: all elements of a specific type, e.g. the second-level headers h2 elements specified by attribute, in particular: id: an identifier unique within the document class: an identifier that can annotate multiple elements in a document elements depending on how they are placed relative to others in the document tree.
Classes and IDs are case-sensitive, start with letters, can include alphanumeric characters and underscores. A class may apply to any number of instances of any elements. An ID may only be applied to a single element. Pseudo-classes are used in CSS selectors to permit formatting based on information, not contained in the document tree. One example of a used pseudo-class is:hover, which identifies content only when the user “points to” the visible element by holding the mouse cursor over it, it is #elementid: hover. A pseudo-class classifies document elements, such as:link or:visited, whereas a pseudo-element makes a selection that may consist of partial elements, such as::first-line or::first-letter. Selectors may be combined in many ways to achieve great flexibility. Multiple selectors may be joined in a spaced list to specify elements by location, element type, id, class, or any combination thereof; the order of the selectors is important. For example, div.myClass applies to all elements of class myClass that are inside div elements, whereas.myClass div applies to all div elements that are in elements of class myClass.
The following table provides a summary of selector syntax indicating usage and the version of CSS that introduced it. A declaration block consists of a list of declarations in braces; each declaration itself consists of a property, a colon, a value. If there are multiple declarations in a block, a semi-colon must be inserted to separate each declaration. Properties are specified in the CSS standard; each property has a set of possible values. Some properties can affect any type of element, others apply only to particular groups of elements. Values may be keywords, such as "center" or "inherit", or numerical values, such as 200px, 50vw or 80%. Color values can be specified with keywords, hexadecimal values, RGB values on a 0 to 255 scale, RGBA values that specify both color and alpha transparency, or HSL or HSLA values. Before CSS, nearly all presentational attributes of HTML documents were contained within the HTML markup. All font colors, background styles, element alignments and sizes had to be explicitly described repeatedly, within the HTML.
CSS lets authors move much of that information to another file, the style sheet, resulting in simpler HTML. For example, sub-headings, sub-sub-headings, etc. are defined structurally using HTML. In print and on the screen, choice of font, size and emphasis for these elements is presentational. Before CSS, document authors who wanted to assign such typographic characteristics to, all h2 headings had to repeat HTML presentational markup for each occurrence of that heading type; this made documents more complex and more error-prone and difficult to maintain. CSS allows the separation of presentation from structure. CSS can define color, text alignment, borders, spacing and many other typographic characteristics, can do so independently for on-screen and printed views. CSS defines non-visual styles, such as reading speed and emphasis for aural text readers; the W3C has now deprecated the use of all presentational HTML markup. For example, under pre-CSS HTML, a heading element defined with red text would be written as: Using CSS, the sam
It describes 18 elements comprising the initial simple design of HTML. Except for the hyperlink tag, these were influenced by SGMLguid, an in-house Standard Generalized Markup Language -based documentation format at CERN. Eleven of these elements still exist in HTML 4. HTML is a markup language that web browsers use to interpret and compose text and other material into visual or audible web pages. Default characteristics for every item of HTML markup are defined in the browser, these characteristics can be altered or enhanced by the web page designer's additional use of CSS. Many of the text elements are found in the 1988 ISO technical report TR 9537 Techniques for using SGML, which in turn covers the features of early text formatting languages such as that used by the RUNOFF command developed in the early 1960s for the CTSS operating system: these formatting commands were derived from the commands used by typesetters to manually format documents. However, the SGML concept of generalized markup is based on elements rather than print effects, with the separation of structure and markup.
Berners-Lee considered HTML to be an application of SGML. It was formally defined as such by the Internet Engineering Task Force with the mid-1993 publication of the first proposal for an HTML specification, the "Hypertext Markup Language" Internet Draft by Berners-Lee and Dan Connolly, which included an SGML Document type definition to define the grammar; the draft expired after six months, but was notable for its acknowledgment of the NCSA Mosaic browser's custom tag for embedding in-line images, reflecting the IETF's philosophy of basing standards on successful prototypes. Dave Raggett's competing Internet-Draft, "HTML+", from late 1993, suggested standardizing already-implemented features like tables and fill-out forms. After the HTML and HTML+ drafts expired in early 1994, the IETF created an HTML Working Group, which in 1995 completed "HTML 2.0", the first HTML specification intended to be treated as a standard against which future implementations should be based. Further development under the auspices of the IETF was stalled by competing interests.
Since 1996, the HTML specifications have been maintained, with input from commercial software vendors, by the World Wide Web Consortium. However, in 2000, HTML became an international standard. HTML 4.01 was published in late 1999, with further errata published through 2001. In 2004, development began on HTML5 in the Web Hypertext Application Technology Working Group, which became a joint deliverable with the W3C in 2008, completed and standardized on 28 October 2014. November 24, 1995 HTML 2.0 was published as RFC 1866. Supplemental RFCs added capabilities: November 25, 1995: RFC 1867 May 1996: RFC 1942 August 1996: RFC 1980 January 1997: RFC 2070 January 14, 1997 HTML 3.2 was published as a W3C Recommendation. It was the first version developed and standardized by the W3C, as the IETF had closed its HTML Working Group on September 12, 1996. Code-named "Wilbur", HTML 3.2 dropped math formulas reconciled overlap among various proprietary extensions and adopted most of Netscape's visual markup tags.
Netscape's blink element and Microsoft's marquee element were omitted due to a mutual agreement between the two companies. A markup for mathematical formu
A web browser is a software application for accessing information on the World Wide Web. Each individual web page and video is identified by a distinct Uniform Resource Locator, enabling browsers to retrieve these resources from a web server and display them on the user's device. A web browser is not the same thing as a search engine, though the two are confused. For a user, a search engine is just a website, such as google.com, that stores searchable data about other websites. But to connect to a website's server and display its web pages, a user needs to have a web browser installed on their device; the most popular browsers are Chrome, Safari, Internet Explorer, Edge. The first web browser, called WorldWideWeb, was invented in 1990 by Sir Tim Berners-Lee, he recruited Nicola Pellow to write the Line Mode Browser, which displayed web pages on dumb terminals. 1993 was a landmark year with the release of Mosaic, credited as "the world's first popular browser". Its innovative graphical interface made the World Wide Web system easy to use and thus more accessible to the average person.
This, in turn, sparked the Internet boom of the 1990s when the Web grew at a rapid rate. Marc Andreessen, the leader of the Mosaic team, soon started his own company, which released the Mosaic-influenced Netscape Navigator in 1994. Navigator became the most popular browser. Microsoft debuted Internet Explorer in 1995. Microsoft was able to gain a dominant position for two reasons: it bundled Internet Explorer with its popular Microsoft Windows operating system and did so as freeware with no restrictions on usage; the market share of Internet Explorer peaked at over 95% in 2002. In 1998, desperate to remain competitive, Netscape launched what would become the Mozilla Foundation to create a new browser using the open source software model; this work evolved into Firefox, first released by Mozilla in 2004. Firefox reached a 28% market share in 2011. Apple released its Safari browser in 2003, it remains the dominant browser on Apple platforms. The last major entrant to the browser market was Google, its Chrome browser, which debuted in 2008, has been a huge success.
Once a web page has been retrieved, the browser's rendering engine displays it on the user's device. This includes video formats supported by the browser. Web pages contain hyperlinks to other pages and resources; each link contains a URL, when it is clicked, the browser navigates to the new resource. Thus the process of bringing content to the user begins again. To implement all of this, modern browsers are a combination of numerous software components. Web browsers can be configured with a built-in menu. Depending on the browser, the menu may be named Options, or Preferences; the menu has different types of settings. For example, users can change their home default search engine, they can change default web page colors and fonts. Various network connectivity and privacy settings are usually available. During the course of browsing, cookies received from various websites are stored by the browser; some of them contain login credentials or site preferences. However, others are used for tracking user behavior over long periods of time, so browsers provide settings for removing cookies when exiting the browser.
Finer-grained management of cookies requires a browser extension. The most popular browsers have a number of features in common, they allow users to browse in a private mode. They can be customized with extensions, some of them provide a sync service. Most browsers have these user interface features: Allow the user to open multiple pages at the same time, either in different browser windows or in different tabs of the same window. Back and forward buttons to go back to the previous page forward to the next one. A refresh or reload button to reload the current page. A stop button to cancel loading the page. A home button to return to the user's home page. An address bar to display it. A search bar to input terms into a search engine. There are niche browsers with distinct features. One example is text-only browsers that can benefit people with slow Internet connections or those with visual impairments. Mobile browser List of web browsers Comparison of web browsers Media related to Web browsers at Wikimedia Commons
Hypertext Transfer Protocol
The Hypertext Transfer Protocol is an application protocol for distributed, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, where hypertext documents include hyperlinks to other resources that the user can access, for example by a mouse click or by tapping the screen in a web browser. HTTP was developed to facilitate the World Wide Web. Development of HTTP was initiated by Tim Berners-Lee at CERN in 1989. Development of HTTP standards was coordinated by the Internet Engineering Task Force and the World Wide Web Consortium, culminating in the publication of a series of Requests for Comments; the first definition of HTTP/1.1, the version of HTTP in common use, occurred in RFC 2068 in 1997, although this was made obsolete by RFC 2616 in 1999 and again by the RFC 7230 family of RFCs in 2014. A version, the successor HTTP/2, was standardized in 2015, is now supported by major web servers and browsers over Transport Layer Security using Application-Layer Protocol Negotiation extension where TLS 1.2 or newer is required.
HTTP functions as a request–response protocol in the client–server computing model. A web browser, for example, may be the client and an application running on a computer hosting a website may be the server; the client submits an HTTP request message to the server. The server, which provides resources such as HTML files and other content, or performs other functions on behalf of the client, returns a response message to the client; the response contains completion status information about the request and may contain requested content in its message body. A web browser is an example of a user agent. Other types of user agent include the indexing software used by search providers, voice browsers, mobile apps, other software that accesses, consumes, or displays web content. HTTP is designed to permit intermediate network elements to improve or enable communications between clients and servers. High-traffic websites benefit from web cache servers that deliver content on behalf of upstream servers to improve response time.
Web browsers cache accessed web resources and reuse them, when possible, to reduce network traffic. HTTP proxy servers at private network boundaries can facilitate communication for clients without a globally routable address, by relaying messages with external servers. HTTP is an application layer protocol designed within the framework of the Internet protocol suite, its definition presumes an underlying and reliable transport layer protocol, Transmission Control Protocol is used. However, HTTP can be adapted to use unreliable protocols such as the User Datagram Protocol, for example in HTTPU and Simple Service Discovery Protocol. HTTP resources are identified and located on the network by Uniform Resource Locators, using the Uniform Resource Identifiers schemes http and https. URIs and hyperlinks in HTML documents form interlinked hypertext documents. HTTP/1.1 is a revision of the original HTTP. In HTTP/1.0 a separate connection to the same server is made for every resource request. HTTP/1.1 can reuse a connection multiple times to download images, stylesheets, etc after the page has been delivered.
HTTP/1.1 communications therefore experience less latency as the establishment of TCP connections presents considerable overhead. The term hypertext was coined by Ted Nelson in 1965 in the Xanadu Project, in turn inspired by Vannevar Bush's 1930s vision of the microfilm-based information retrieval and management "memex" system described in his 1945 essay "As We May Think". Tim Berners-Lee and his team at CERN are credited with inventing the original HTTP, along with HTML and the associated technology for a web server and a text-based web browser. Berners-Lee first proposed the "WorldWideWeb" project in 1989—now known as the World Wide Web; the first version of the protocol had only one method, namely GET, which would request a page from a server. The response from the server was always an HTML page; the first documented version of HTTP was HTTP V0.9. Dave Raggett led the HTTP Working Group in 1995 and wanted to expand the protocol with extended operations, extended negotiation, richer meta-information, tied with a security protocol which became more efficient by adding additional methods and header fields.
RFC 1945 introduced and recognized HTTP V1.0 in 1996. The HTTP WG planned to publish new standards in December 1995 and the support for pre-standard HTTP/1.1 based on the developing RFC 2068 was adopted by the major browser developers in early 1996. By March that year, pre-standard HTTP/1.1 was supported in Arena, Netscape 2.0, Netscape Navigator Gold 2.01, Mosaic 2.7, Lynx 2.5, in Internet Explorer 2.0. End-user adoption of the new browsers was rapid. In March 1996, one web hosting company reported that over 40% of browsers in use on the Internet were HTTP 1.1 compliant. That same web hosting company reported that by June 1996, 65% of all browsers accessing their servers were HTTP/1.1 compliant. The HTTP/1.1 standard as defined in RFC 2068 was released in January 1997. Improvements and updates to the HTTP/1.1 standard were released under RFC 2616 in June 1999. In 2007, the HTTPbis Working Group was formed, in part, to revise and clarify the HTTP/1.1 specification. In June 2014, the WG released an updated six-part specification obsoleting RFC 2616: RFC 7230, HTTP/1.1: Message Syntax and Routing RFC 7231, HTTP/1.1: Semantics and Content RFC 7232, HTTP/1.1: Conditional Requests RFC 7233, HTTP/1.1: Range Requests RFC 7234, HTTP/1.1: Caching RFC 7235, HTTP/1
An operating system is system software that manages computer hardware and software resources and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may include accounting software for cost allocation of processor time, mass storage and other resources. For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between programs and the computer hardware, although the application code is executed directly by the hardware and makes system calls to an OS function or is interrupted by it. Operating systems are found on many devices that contain a computer – from cellular phones and video game consoles to web servers and supercomputers; the dominant desktop operating system is Microsoft Windows with a market share of around 82.74%. MacOS by Apple Inc. is in second place, the varieties of Linux are collectively in third place. In the mobile sector, use in 2017 is up to 70% of Google's Android and according to third quarter 2016 data, Android on smartphones is dominant with 87.5 percent and a growth rate 10.3 percent per year, followed by Apple's iOS with 12.1 percent and a per year decrease in market share of 5.2 percent, while other operating systems amount to just 0.3 percent.
Linux distributions are dominant in supercomputing sectors. Other specialized classes of operating systems, such as embedded and real-time systems, exist for many applications. A single-tasking system can only run one program at a time, while a multi-tasking operating system allows more than one program to be running in concurrency; this is achieved by time-sharing, where the available processor time is divided between multiple processes. These processes are each interrupted in time slices by a task-scheduling subsystem of the operating system. Multi-tasking may be characterized in co-operative types. In preemptive multitasking, the operating system slices the CPU time and dedicates a slot to each of the programs. Unix-like operating systems, such as Solaris and Linux—as well as non-Unix-like, such as AmigaOS—support preemptive multitasking. Cooperative multitasking is achieved by relying on each process to provide time to the other processes in a defined manner. 16-bit versions of Microsoft Windows used cooperative multi-tasking.
32-bit versions of both Windows NT and Win9x, used preemptive multi-tasking. Single-user operating systems have no facilities to distinguish users, but may allow multiple programs to run in tandem. A multi-user operating system extends the basic concept of multi-tasking with facilities that identify processes and resources, such as disk space, belonging to multiple users, the system permits multiple users to interact with the system at the same time. Time-sharing operating systems schedule tasks for efficient use of the system and may include accounting software for cost allocation of processor time, mass storage and other resources to multiple users. A distributed operating system manages a group of distinct computers and makes them appear to be a single computer; the development of networked computers that could be linked and communicate with each other gave rise to distributed computing. Distributed computations are carried out on more than one machine; when computers in a group work in cooperation, they form a distributed system.
In an OS, distributed and cloud computing context, templating refers to creating a single virtual machine image as a guest operating system saving it as a tool for multiple running virtual machines. The technique is used both in virtualization and cloud computing management, is common in large server warehouses. Embedded operating systems are designed to be used in embedded computer systems, they are designed to operate on small machines like PDAs with less autonomy. They are able to operate with a limited number of resources, they are compact and efficient by design. Windows CE and Minix 3 are some examples of embedded operating systems. A real-time operating system is an operating system that guarantees to process events or data by a specific moment in time. A real-time operating system may be single- or multi-tasking, but when multitasking, it uses specialized scheduling algorithms so that a deterministic nature of behavior is achieved. An event-driven system switches between tasks based on their priorities or external events while time-sharing operating systems switch tasks based on clock interrupts.
A library operating system is one in which the services that a typical operating system provides, such as networking, are provided in the form of libraries and composed with the application and configuration code to construct a unikernel: a specialized, single address space, machine image that can be deployed to cloud or embedded environments. Early computers were built to perform a series of single tasks, like a calculator. Basic operating system features were developed in the 1950s, such as resident monitor functions that could automatically run different programs in succession to speed up processing. Operating systems did not exist in their more complex forms until the early 1960s. Hardware features were added, that enabled use of runtime libraries and parallel processing; when personal computers became popular in the 1980s, operating systems were made for them similar in concept to those used on larger computers. In the 1940s, the earliest electronic digital systems had no operating systems.
Electronic systems of this time were programmed on rows of mechanical switches or by jumper wires on plug boards. These were special-purpose systems that, for example, generated ballistics tables for the military or controlled the pri
The Raspberry Pi is a series of small single-board computers developed in the United Kingdom by the Raspberry Pi Foundation to promote teaching of basic computer science in schools and in developing countries. The original model became far more popular than anticipated, selling outside its target market for uses such as robotics, it does not include cases. However, some accessories have been included in unofficial bundles; the organisation behind the Raspberry Pi consists of two arms. The first two models were developed by the Raspberry Pi Foundation. After the Pi Model B was released, the Foundation set up Raspberry Pi Trading, with Eben Upton as CEO, to develop the third model, the B+. Raspberry Pi Trading is responsible for developing the technology while the Foundation is an educational charity to promote the teaching of basic computer science in schools and in developing countries. According to the Raspberry Pi Foundation, more than 5 million Raspberry Pis were sold by February 2015, making it the best-selling British computer.
By November 2016 they had sold 11 million units, 12.5m by March 2017, making it the third best-selling "general purpose computer". In July 2017, sales reached nearly 15 million. In March 2018, sales reached 19 million. Most Pis are made in a Sony factory in Wales. Several generations of Raspberry Pis have been released. All models feature a Broadcom system on a chip with an integrated ARM-compatible central processing unit and on-chip graphics processing unit. Processor speed ranges from 700 MHz to 1.4 GHz for the Pi 3 Model B+. Secure Digital cards in MicroSDHC form factor are used to store the operating system and program memory; the boards have one to four USB ports. For video output, HDMI and composite video are supported, with a standard 3.5 mm tip-ring-sleeve jack for audio output. Lower-level output is provided by a number of GPIO pins, which support common protocols like I²C; the B-models have an 8P8C Ethernet port and the Pi 3 and Pi Zero W have on-board Wi-Fi 802.11n and Bluetooth. Prices range from US$5 to $35.
The first generation was released in February 2012, followed by the simpler and cheaper Model A. In 2014, the Foundation released a board with an improved design, Raspberry Pi 1 Model B+; these boards are credit-card sized and represent the standard mainline form-factor. Improved A+ and B+ models were released a year later. A "Compute Module" was released in April 2014 for embedded applications; the Raspberry Pi 2, which added more random-access memory, was released in February 2015. A Raspberry Pi Zero with smaller size and reduced input/output and general-purpose input/output capabilities was released in November 2015 for US$5. By 2017, it became the newest mainline Raspberry Pi. On 28 February 2017, the Raspberry Pi Zero W was launched, a version of the Zero with Wi-Fi and Bluetooth capabilities, for US$10. On 12 January 2018, the Raspberry Pi Zero WH was launched, a version of the Zero W with pre-soldered GPIO headers. Raspberry Pi 3 Model B was released in February 2016 with a 1.2 GHz 64-bit quad core processor, on-board WiFi, Bluetooth and USB boot capabilities.
On Pi Day 2018 the Raspberry Pi 3 Model B+ was launched with a faster 1.4 GHz processor and a three-times faster gigabit Ethernet or 2.4 / 5 GHz dual-band Wi-Fi. Other features are Power over USB boot and network boot; the Raspberry Pi hardware has evolved through several versions that feature variations in memory capacity and peripheral-device support. This block diagram describes Model B and B+; the Ethernet adapter is internally connected to an additional USB port. In Model A, A+, the Pi Zero, the USB port is connected directly to the system on a chip. On the Pi 1 Model B+ and models the USB/Ethernet chip contains a five-port USB hub, of which four ports are available, while the Pi 1 Model B only provides two. On the Pi Zero, the USB port is connected directly to the SoC, but it uses a micro USB port; the Broadcom BCM2835 SoC used in the first generation Raspberry Pi includes a 700 MHz ARM11 76JZF-S processor, VideoCore IV graphics processing unit, RAM. It has a level 1 cache of 16 KB and a level 2 cache of 128 KB.
The level 2 cache is used by the GPU. The SoC is stacked underneath the RAM chip, so only its edge is visible; the 1176JZ-S is the same CPU used in the original iPhone, although at a higher clock rate, mated with a much faster GPU. The earlier V1.1 model of the Raspberry Pi 2 used a Broadcom BCM2836 SoC with a 900 MHz 32-bit, quad-core ARM Cortex-A7 processor, with 256 KB shared L2 cache. The Raspberry Pi 2 V1.2 was upgraded to a Broadcom BCM2837 SoC with a 1.2 GHz 64-bit quad-core ARM Cortex-A53 processor, the same SoC, used on the Raspberry Pi 3, but underclocked to the same 900 MHz CPU clock speed as the V1.1. The BCM2836 SoC is no longer in production as of late 2016; the Raspberry Pi 3+ uses a Broadcom BCM2837B0 SoC with a 1.4 GHz 64-bit quad-core ARM Cortex-A53 processor, with 512 KB shared L2 cache. While operating at 700 MHz by default, the first generation Raspberry Pi provided a real-world performance equivalent to 0.041 GFLOPS. On the CPU level the performance is similar to a 300 MHz Pentium II of 1997–99.
The GPU provides 1 Gpixel/s or 1.5 Gtexel/s of graphics processing or 24 GFLOPS of general purpose computing performance. The graphical capabilities of the Raspber