Static web page
A static web page, sometimes called a flat page or a stationary page, is a web page that is delivered to a web browser exactly as stored,[1] in contrast to dynamic web pages which are generated by a web application.[2]
Consequently, a static web page displays the same information for all users, from all contexts, subject to modern capabilities of a web server to negotiate content-type or language of the document where such versions are available and the server is configured to do so.[3] However, a webpage's JavaScript can introduce dynamic functionality which may make the static web page dynamic.
Overview
Static web pages are often HTML documents,[4] stored as files in the file system and made available by the web server over HTTP (nevertheless URLs ending with ".html" are not always static). However, loose interpretations of the term could include web pages stored in a database, and could even include pages formatted using a template and served through an application server, as long as the page served is unchanging and presented essentially as stored.
The content of static web pages remain stationary irrespective of the number of times it is viewed. Such web pages are suitable for the contents that rarely need to be updated, though modern web template systems are changing this. Maintaining large numbers of static pages as files can be impractical without automated tools, such as static site generators. Any personalization or interactivity has to run client-side, which is restricting.[5]
Advantages
- Provide improved security over dynamic websites (dynamic websites are at risk to web shell attacks if a vulnerability is present)[6]
- Improved performance for end users compared to dynamic websites[7]
- Fewer or no dependencies on systems such as databases or other application servers [8]
- Cost savings from utilizing cloud storage, as opposed to a hosted environment[9]
- Security configurations are easy to set up, which makes it more secure
Disadvantages
- Dynamic functionality must be performed on the client side[5]
Static site generators
Static site generators are applications that compile static websites - typically populating HTML templates in a predefined folder and file structure, with content supplied in a format such as Markdown or AsciiDoc.
Examples of static site generators include:
- Ruby programming language:
- Go programming language:
- JavaScript programming language:
- Next.js
- Astro.build
- Python programming language:
- Pelican
- Julia programming language:
References
- ^ Melendez, Steven (10 August 2018). "The Difference Between Dynamic & Static Web Pages". Chron. Archived from the original on 20 March 2019. Retrieved 20 March 2019.
Static by definition means something that does not change. The first pages on the World Wide Web were largely static and unchanged, delivering the same information about a particular topic to anyone who visited. In some cases, sites may evolve slightly over time but are still largely static, meaning that they only change when manually changed by their creators, not on a regular and automated basis.
- ^ "Definition of: dynamic Web page". PC Magazine. Archived from the original on 17 January 2017. Retrieved 20 March 2019.
A Web page that provides custom content for the user based on the results of a search or some other request.
- ^ "Site statique ou dynamique" [Static or dynamic site]. morphenZero (in French). Archived from the original on 11 September 2016. Retrieved 27 July 2019.
Ces pages peuvent présenter toute forme de contenu, animations flash, images, musique, vidéo etc... mais elles sont toujours présentées de la même façon.
- ^ "What is a Static Web Page? - Definition from Techopedia". Techopedia.com. Archived from the original on 2018-11-04. Retrieved 2018-11-04.
- ^ a b Bouças, Eduardo (20 May 2015). "An Introduction to Static Site Generators". Archived from the original on 26 June 2019. Retrieved 20 March 2019.
A dangerous solution: There's an easy exit for whenever you're faced with the challenge of dynamically updating content on a static site: "I can do it with JavaScript". Doing processing on the client-side and appending the results to the page after it's been served can be the right approach for some cases, but must not be seen as the magic solution that turns your static site into a full dynamic one.
- ^ "Why use a static site generator?". Jekyll Tips. 2017-02-06. Archived from the original on 2017-02-16. Retrieved 2017-02-17.
- ^ "Why Static Website Generators Are The Next Big Thing – Smashing Magazine". Smashing Magazine. 2015-11-02. Archived from the original on 2017-02-18. Retrieved 2017-02-17.
- ^ Bouças, Eduardo (20 May 2015). "An Introduction to Static Site Generators". Archived from the original on 21 July 2015. Retrieved 20 March 2019.
Less hassle with the server: Installing and maintaining the infrastructure required to run a dynamic site can be quite challenging, especially when multiple servers are involved or when something needs to be migrated. There's packages, libraries, modules and frameworks with different versions and dependencies, there's different web servers and database engines in different operating systems.
- ^ Vincet, William (9 October 2018). "Static vs Dynamic Websites: Pros and Cons". Archived from the original on 26 December 2018. Retrieved 26 December 2018.
External links
- The definitive listing of Static Site Generators, a community-curated list of static site generators.