Web站的前世今生(shēng)
時間:2020-05-26 作者:管理員(yuán) 點擊:752
在九十年代初期,浏覽網站内容的浏覽器相對簡單,所以網站必須也相應地簡單易用。而當時網站主要是沒有字體(tǐ)類型的文本,任何形式的圖像都很重要。最早期的網站是靜态的,無法提供交互式、動畫或個性化等内容。
爲了追求更複雜(zá)的Web内容,開(kāi)發者需要在浏覽器中(zhōng)嵌入一(yī)種計算機編程語言,爲此開(kāi)發使浏覽器可以顯示交互式和動态内容。當時有很多編程語言可以選擇,競争對手并不在少數,但HTML成爲了首選的标記語言,而JavaScript成爲了事實上的客戶端腳本語言。
層疊樣式表(Cascading Style Sheets,CSS)的開(kāi)發是通過将網站内容與網站格式分(fēn)開(kāi),使人們對網站外(wài)觀的控制更多。諸如布局,顔色和字體(tǐ)之類的内容可以在樣式表中(zhōng)指定,并應用于整個網站站點。
HTML,CSS和JavaScript共同構成了今天持續存在的Web體(tǐ)驗的基礎。
在2000年代初期,内容管理系統(CMS)得到更廣泛的使用者歡迎。CMS添加了一(yī)個用戶界面,使使用者可以更輕松地向其網站添加和修改内容,并且還添加了主題和腳手架,以幫助減輕網站樣式的工(gōng)作。在後端,服務器會根據Web流量的要求來編譯并提供内容。今天WordPress和Drupal已經成爲流行的CMS首先,而WordPress爲整體(tǐ)Web流量提供了很大(dà)的動力。
當網站由CMS提供支持時,每次用戶訪問該網站時,頁面都是按需構建的。内容和樣式模闆存儲在數據庫中(zhōng),并在用戶請求頁面時獲取和呈現。内容是根據請求動态生(shēng)成的。傳統web開(kāi)發中(zhōng),内容是在後端呈現的,但是諸如React和Vue之類的JavaScript框架的興起卻帶動了客戶端腳本的發展。
所有這些結合在一(yī)起就可以創建動态網站,或者可以在需要頁面時即時組裝内容和樣式模闆的網站。
目前很多CMS工(gōng)具向更多的用戶開(kāi)放(fàng)了Web開(kāi)發,但是用戶更加關注網站性能問題。而且緩存和内容交付網絡(CDN)可以緩解某些加載速度問題,但是靜态網站的趨勢在很大(dà)程度上源于對更快網站性能的渴望。
靜态網站通常聽(tīng)起來很像:一(yī)個網站(如果不是嚴格意義上的話(huà))主要由靜态資(zī)源組成,對于大(dà)多數基于傳統CMS的網站(例如Drupal或WordPress),當用戶請求頁面時,将進行網頁編譯。在靜态站點中(zhōng),該工(gōng)作改爲在構建時發生(shēng)(或在開(kāi)發人員(yuán)觸發構建并從某種形式的标記(幾乎始終是Markdown)預渲染網頁并将其存儲爲靜态HTML文檔的那一(yī)刻開(kāi)始),而不是依靠數據庫來組合内容,而是從靜态文件目錄中(zhōng)爲浏覽器提供内容。
這樣做的好處是通常會産生(shēng)加載速度非常快的網站。無需等待動态組裝,即可立即提供内容,而不會延遲。但是,這種方法的缺點是,預渲染的标記頁面缺乏現代網站中(zhōng)預期的動态響應能力。
正是這種局限性導緻靜态站點合并了更多動态元素,一(yī)種這樣的方法就是所謂的JAMstack(JavaScript,API,标記),它正成爲構建靜态站點的标準堆棧。JavaScript使網站具有動态功能,API使開(kāi)發人員(yuán)可以調用第三方服務,例如商(shāng)業後端或更高級别的動态功能或自定義,标記描述了将内容呈現爲靜态HTML文件的基礎。