Verkkosivu

**Verkkosivu** eli **web-sivu**, **[[World Wide Web|www]]-sivu** tai arkikielessä **nettisivu** on World Wide Webin kautta jaettava hypertekstidokumentti. Verkkosivut toimitetaan käyttäjille WWW-palvelimelta ja näytetään verkkoselaimen avulla. Verkkosivusto on joukko verkkosivuja saman verkkotunnuksen alla. Sana "verkkosivu" on metafora ja tarkoittaa kirjan sivuja.

## Verkkosivudokumentin rakenne
Standardisoitu tapa esittää verkkosivuja on HTML-merkintäkielellä, jolla merkitään sivuston sisältö (mukaan lukien hyperlinkit). Verkkosivuston ulkonäköä on mahdollista muuttaa sisällyttämällä tyylimääritytyksiä erillisen CSS-tiedoston avulla tai suoraan HTML-koodissa.

Lisäksi sivulle voidaan lisätä asiakasohjelmassa (verkkoselaimessa) suoritettavia dynaamisia toimintoja esimerkiksi JavaScriptin tai WebAssemblyn avulla. Dynaamisia toimintoja sisältävät sivut voivat toimia omina sovellusohjelminaan, jolloin niitä voidaan kutsua verkkopalveluksi. 

## Verkkosivujen välitys

Verkkoselain pyytää halutun verkkosivun palvelimelta käyttäen HTTP tai HTTPS-protokollaa. Palvelin vastaa pyyntöön lähettämällä selaimelle HTML-dokumentin, jonka selain muuntaa käyttäjälle näytettävään muotoon.

Verkkosivut sisältävät yleensä hyperlinkkejä eli viittauksia toisiin verkkosivuihin tai tiedostoihin. Käyttäjä voi halutessaan valita hyperlinkin selaimessaan, jolloin selain siirtyy linkin osoittamalle verkkosivulle.

Verkkosivu voi olla staattinen tai dynaaminen.

*Staattinen sivu* on perinteisesti tiedosto palvelinkoneella. Se näkyy selaimella aina samanlaisena ja muuttuu vain, jos tiedostoa muokataan palvelimella.
Merkittävä etu staattisella sivulla on suorituskyky: staattinen sivu on jo valmiina lähetettäväksi ennen kuin käyttäjä pyytää tiedostoa.
Staattisten sivujen luonti käsin tekstieditorilla tai HTML-editorilla oli varsinkin WWW:n alkuvaiheen yleisin toteutustekniikka. Myöhemmin ovat yleistyneet *dynaamiset sivut*, joissa on päivämäärän tai käyttäjän toimien mukaan muuttuvaa sisältöä.

Staattinen sivu voidaan myös luoda jotain merkintäkieltä käyttävän sisältömallineen mukaan siihen tarkoitetun ohjelman avulla, joita on lukuisia. 
Staattisten sivujen luonti liitetään nykyään JAMstack-kehitykseen (JavaScript, APIs, Markup).
Tässä tekniikassa luodaan kevyt staattinen webbisivu, joka lataantuu nopeasti. JavaScriptin avulla kutsutaan rajapintoja (API), joista dynaaminen sisältö ladataan. Tarvittavan ohjelmoinnin määrä on vähäinen.

*Dynaaminen sivu* luodaan vasta, kun asiakasohjelma sitä pyytää. Lopputuloksena oleva sivu voi riippua useista tekijöistä kuten käyttäjän sijainnista, kellonajasta ja siitä onko käyttäjä kirjautunut
Selaimen hakupyyntö käynnistää palvelinkoneella toimintoja, joiden tuloksena luodaan uusi verkkosivu. Tällaisella järjestelyllä on kaksi etua. Ensinnäkin verkkosivun sisältö voi riippua hakuajankohdasta, mikä mahdollistaa esimerkiksi kellonajan näyttämisen sivulla tai sisällön hakemisen tietokannasta käyttäjän antamien parametrien pohjalta. Toiseksi HTML-muotoisen tiedon muodostumismekanismi voidaan piilottaa palvelimelle sen sijaan että ne olisi haettu ja muodostettu esimerkiksi JavaScriptin avulla. Tällöin loppukäyttäjä ei saa selville, miten dynaaminen tieto on muodostunut.

## Katso myös
* Verkkosivusto
* Verkkopalvelu
* WWW-sisällönhallinta
* Informaatioarkkitehtuuri
* CSS

## Lähteet

## Aiheesta muualla
* W3.org Verkkosivujen standardeja hallinnoiva organisaatio
* Web-julkaisemisen opas
* Ficora - kotimaisia verkko-osoitteita (.fi tld) hallinnoiva organisaatio