Server Side Includes ( SSI ) is a simple interpreted server-side scripting language used almost exclusively for the World Wide Web . It is most useful for including the contents of one or more files into a web page on a web server (see below), using its #include directive. This could commonly be a common piece of code throughout a site, such as a page header, a page footer and a navigation menu. SSI also contains control directives for conditional features and directives for calling external programs. It is supported by Apache , LiteSpeed , nginx , IIS as well as W3C 's Jigsaw. It has its roots in NCSA HTTPd .
25-406: A website (also written as a web site ) is one or more web pages and related content that is identified by a common domain name and published on at least one web server . Websites are typically dedicated to a particular topic or purpose, such as news, education, commerce, entertainment, or social media . Hyperlinking between web pages guides the navigation of the site, which often starts with
50-407: A classic website , a five-page website or a brochure website are often static websites, because they present pre-defined, static information to the user. This may include information about a company and its products and services through text, photos, animations, audio/video, and navigation menus. Static websites may still use server side includes (SSI) as an editing convenience, such as sharing
75-508: A home page . The most-visited sites are Google , YouTube , and Facebook . All publicly-accessible websites collectively constitute the World Wide Web . There are also private websites that can only be accessed on a private network , such as a company's internal website for its employees. Users can access websites on a range of devices, including desktops , laptops , tablets , and smartphones . The app used on these devices
100-528: A structured document . The core element is a text file written in the HyperText Markup Language (HTML). This specifies the content of the page, including images and video . Cascading Style Sheets (CSS) specify the presentation of the page. CSS rules can be in separate text files or embedded within the HTML file. The vast majority of pages have JavaScript programs , enabling
125-448: A wide range of behavior. The newer WebAssembly language can also be used as a supplement . The most sophisticated web pages, known as web apps , combine these elements in a complex manner . From the perspective of server-side website deployment, there are two types of web pages: static and dynamic . Static pages are retrieved from the web server's file system without any modification, while dynamic pages must be created by
150-848: A common menu bar across many pages. As the site's behavior to the reader is still static, this is not considered a dynamic site. A dynamic website is one that changes or customizes itself frequently and automatically. Server-side dynamic pages are generated "on the fly" by computer code that produces the HTML (CSS are responsible for appearance and thus, are static files). There are a wide range of software systems, such as CGI , Java Servlets and Java Server Pages (JSP), Active Server Pages and ColdFusion (CFML) that are available to generate dynamic Web systems and dynamic sites . Various Web application frameworks and Web template systems are available for general-use programming languages like Perl , PHP , Python and Ruby to make it faster and easier to create complex dynamic websites. A site can display
175-474: A large series of static pages. Early websites had only text, and soon after, images. Web browser plug-ins were then used to add audio, video, and interactivity (such as for a rich Web application that mirrors the complexity of a desktop application like a word processor). Examples of such plug-ins are Microsoft Silverlight , Adobe Flash Player , Adobe Shockwave Player , and Java SE . HTML 5 includes provisions for audio and video without plugins. JavaScript
200-968: A milestone confirmed by Netcraft in its October 2014 Web Server Survey and that Internet Live Stats was the first to announce—as attested by this tweet from the inventor of the World Wide Web himself, Tim Berners-Lee—the number of websites in the world have subsequently declined, reverting to a level below 1 billion. This is due to the monthly fluctuations in the count of inactive websites. The number of websites continued growing to over 1 billion by March 2016 and has continued growing since. Netcraft Web Server Survey in January 2020 reported that there are 1,295,973,827 websites and in April 2021 reported that there are 1,212,139,815 sites across 10,939,637 web-facing computers, and 264,469,666 unique domains. An estimated 85 percent of all websites are inactive. A static website
225-525: A server. These protocols offer a simple directory structure in which the user navigates and where they choose files to download. Documents were most often presented as plain text files without formatting or were encoded in word processor formats. While "web site" was the original spelling (sometimes capitalized "Web site", since "Web" is a proper noun when referring to the World Wide Web), this variant has become rarely used, and "website" has become
250-450: Is a document on the Web that is accessed in a web browser . A website typically consists of many web pages linked together under a common domain name . The term "web page" is therefore a metaphor of paper pages bound together into a book. Each web page is identified by a distinct Uniform Resource Locator (URL). When the user inputs a URL into their web browser , the browser retrieves
275-492: Is also built into most modern web browsers, and allows for website creators to send code to the web browser that instructs it how to interactively modify page content and communicate with the web server if needed. The browser's internal representation of the content is known as the Document Object Model (DOM). WebGL (Web Graphics Library) is a modern JavaScript API for rendering interactive 3D graphics without
SECTION 10
#1732787010169300-599: Is called a web browser . The World Wide Web (WWW) was created in 1989 by the British CERN computer scientist Tim Berners-Lee . On 30 April 1993, CERN announced that the World Wide Web would be free to use for anyone, contributing to the immense growth of the Web. Before the introduction of the Hypertext Transfer Protocol (HTTP), other protocols such as File Transfer Protocol and the gopher protocol were used to retrieve individual files from
325-516: Is generally non-interactive. This type of website usually displays the same information to all visitors. Similar to handing out a printed brochure to customers or clients, a static website will generally provide consistent, standard information for an extended period of time. Although the website owner may make updates periodically, it is a manual process to edit the text, photos, and other content and may require basic website design skills and software. Simple forms or marketing examples of websites, such as
350-467: Is often done with one of the more feature-rich programming languages . SSI is Turing complete . SSI has a simple syntax: <!--#directive parameter=value parameter=value --> . Directives are placed in HTML comments so that if SSI is not enabled, users will not see the SSI directives on the page, unless they look at its source. Note that the syntax does not allow spaces between the leading "<!--" and
375-495: Is one that has Web pages stored on the server in the format that is sent to a client Web browser. It is primarily coded in Hypertext Markup Language (HTML); Cascading Style Sheets (CSS) are used to control appearance beyond basic HTML. Images are commonly used to create the desired appearance and as part of the main content. Audio or video might also be considered "static" content if it plays automatically or
400-493: The Web 2.0 community of sites and allow for interactivity between the site owner and site visitors or users. Static sites serve or capture information but do not allow engagement with the audience or users directly. Some websites are informational or produced by enthusiasts or for personal use or entertainment. Many websites do aim to make money using one or more business models, including: Web page A web page (or webpage )
425-407: The current state of a dialogue between users, monitor a changing situation, or provide information in some way personalized to the requirements of the individual user. For example, when the front page of a news site is requested, the code running on the webserver might combine stored HTML fragments with news stories retrieved from a database or another website via RSS to produce a page that includes
450-436: The directive. Apache tutorial on SSI stipulates the format requires a space character before the "-->" that closes the element. A web page containing a daily quotation could include the quotation by placing the following code into the file of the web page: With one change of the quote.txt file, all pages that include the file will display the latest daily quotation. The inclusion is not limited to files, and may also be
475-435: The latest information. Dynamic sites can be interactive by using HTML forms , storing and reading back browser cookies , or by creating a series of pages that reflect the previous history of clicks. Another example of dynamic content is when a retail website with a database of media products allows a user to input a search request, e.g. for the keyword Beatles . In response, the content of the Web page will spontaneously change
500-401: The necessary content from a web server and then transforms it into an interactive visual representation on the user's screen. If the user clicks or taps a link , the browser repeats this process to load the new URL, which could be part of the current website or a different one. The browser has features , such as the address bar , that indicate which page is displayed. A web page is
525-443: The server on the fly , typically reading from a database to fill out a template , before being sent to the user's browser. An example of a dynamic page is a search engine results page . Server side include In order for a web server to recognize an SSI-enabled HTML file and therefore carry out these instructions, either the filename should end with a special extension , by default .shtml , .stm , .shtm , or, if
SECTION 20
#1732787010169550-470: The server is configured to allow this, set the execution bit of the file. As a simple programming language, SSI supports only one type : text. Its control flow is rather simple, choice is supported, but loops are not natively supported and can only be done by recursion using include or using HTTP redirect . The simple design of the language makes it easier to learn and use than most server-side scripting languages, while complicated server-side processing
575-609: The standard spelling. All major style guides, such as The Chicago Manual of Style and the AP Stylebook , have reflected this change. In February 2009, Netcraft , an Internet monitoring company that has tracked Web growth since 1995, reported that there were 215,675,903 websites with domain names and content on them in 2009, compared to just 19,732 websites in August 1995. After reaching 1 billion websites in September 2014,
600-520: The use of plug-ins. It allows interactive content such as 3D animations, visualizations and video explainers to presented users in the most intuitive way. A 2010-era trend in websites called "responsive design" has given the best viewing experience as it provides a device-based layout for users. These websites change their layout according to the device or mobile platform, thus giving a rich user experience. Websites can be divided into two broad categories—static and interactive. Interactive sites are part of
625-419: The way it looked before, and will then display a list of Beatles products like CDs, DVDs, and books. Dynamic HTML uses JavaScript code to instruct the Web browser how to interactively modify the page contents. One way to simulate a certain type of dynamic website while avoiding the performance loss of initiating the dynamic engine on a per-user or per-connection basis is to periodically automatically regenerate
#168831