02.26 一文搞懂構建Web內容的技術


前言:

1、HTML

1.1、Web 頁面幾乎全由 HTML 構建

1.2、HTML 的版本

1.3、設計應用 CSS

2、動態 HTML

2.1、讓 Web 頁面動起來的動態 HTML

2.2、更易控制 HTML 的 DOM

3、Web 應用

3.1、通過 Web 提供功能的 Web 應用

3.2、與 Web 服務器及程序協作的 CGI

3.3、因 Java 而普及的 Servlet

4、數據發佈的格式及語言

4.1、可擴展標記語言XML

4.2、發佈更新信息的 RSS/Atom

4.3、JavaScript 衍生的輕量級易用 JSON

在 Web 剛出現時,我們只能瀏覽那些頁面樣式簡單的內容。如今,Web 使用各種各樣的技術,來呈現豐富多彩的內容。


前言:

1、HTML

1.1、Web 頁面幾乎全由 HTML 構建

1.2、HTML 的版本

1.3、設計應用 CSS

2、動態 HTML

2.1、讓 Web 頁面動起來的動態 HTML

2.2、更易控制 HTML 的 DOM

3、Web 應用

3.1、通過 Web 提供功能的 Web 應用

3.2、與 Web 服務器及程序協作的 CGI

3.3、因 Java 而普及的 Servlet

4、數據發佈的格式及語言

4.1、可擴展標記語言XML

4.2、發佈更新信息的 RSS/Atom

4.3、JavaScript 衍生的輕量級易用 JSON

在 Web 剛出現時,我們只能瀏覽那些頁面樣式簡單的內容。如今,Web 使用各種各樣的技術,來呈現豐富多彩的內容。


1、HTML

1.1、Web 頁面幾乎全由 HTML 構建

HTML相關概念和知識:

  • HTML(HyperText Markup Language,超文本標記語言)是為了發送Web 上的超文本(Hypertext)而開發的標記語言。
  • 超文本是一種文檔系統,可將文檔中任意位置的信息與其他信息(文本或圖片等)建立關聯,即超鏈接文本。
  • 標記語言是指通過在文檔的某部分穿插特別的字符串標籤,用來修飾文檔的語言。我們把出現在 HTML 文檔內的這種特殊字符串叫做 HTML 標籤(Tag)。
  • 平時我們瀏覽的 Web 頁面幾乎全是使用 HTML 寫成的。由 HTML 構成的文檔經過瀏覽器的解析、渲染後,呈現出來的結果就是 Web 頁面。
一文搞懂構建Web內容的技術

1.2、HTML 的版本

HTML的版本演變歷史:

  • Tim Berners-Lee 提出 HTTP 概念的同時,還提出了 HTML 原型。1993年在伊利諾伊大學的 NCSA(The National Center for Supercomputing Applications,國家超級計算機應用中心)發佈了 Mosaic 瀏覽器(世界首個圖形界面瀏覽器程序),而能夠被 Mosaic 解析的 HTML,統一標準後即作為 HTML 1.0 發佈。
  • 目前的最新版本是 HTML4.01 標準,1999 年 12 月 W3C(World Wide Web Consortium)組織推薦使用這一版本。下一個版本,預計會在2014 年左右正式推薦使用 HTML5 標準。
  • HTML5 標準不僅解決了瀏覽器之間的兼容性問題,並且可把文本作為數據對待,更容易複用,動畫等效果也變得更生動。

時至今日,HTML 仍存在較多懸而未決問題。有些瀏覽器未遵循HTML 標準實現,或擴展自用標籤等,這都反映了 HTML 的標準實際上尚未統一這一現狀。


1.3、設計應用 CSS

CSS的相關概念:

  • CSS(Cascading Style Sheets,層疊樣式表)可以指定如何展現 HTML內的各種元素,屬於樣式表標準之一。
  • 即使是相同的 HTML 文檔,通過改變應用的 CSS,用瀏覽器看到的頁面外觀也會隨之改變。CSS的理念就是讓文檔的結構和設計分離,達到解耦的目的。


下面讓我們來看一個 CSS 的用例。

<code>.logo {padding: 20px;text-align: center;}/<code>

CSS代碼示例說明:

  • 可在選擇器(selector).logo 的指定範圍內,使用 {} 括起來的聲明塊中寫明的 padding: 20px 等聲明語句應用指定的樣式。
  • 可通過指定 HTML 元素或特定的 class、ID 等作為選擇器來限定樣式的應用範圍。


2、 動態 HTML

2.1、讓 Web 頁面動起來的動態 HTML

所謂動態 HTML(Dynamic HTML),是指使用客戶端腳本語言將靜態的 HTML 內容變成動態的技術的總稱。鼠標單擊點開的新聞、Google Maps 等可滾動的地圖就用到了動態 HTML。

動態 HTML 技術是通過調用客戶端腳本語言 JavaScript,實現對HTML 的 Web 頁面的動態改造。利用 DOM(Document Object Model,文檔對象模型)可指定欲發生動態變化的 HTML 元素。


2.2、更易控制 HTML 的 DOM

DOM的相關概念和知識:

  • DOM 是用以操作 HTML 文檔和 XML 文檔的 API(Application Programming Interface,應用編程接口)。
  • 使用 DOM 可以將 HTML 內的元素當作對象操作,如取出元素內的字符串、改變那個 CSS 的屬性等,使頁面的設計發生改變。
  • 通過調用 JavaScript 等腳本語言對 DOM 的操作,可以以更為簡單的方式控制 HTML 的改變。
<code>

繁瑣的Web安全

第Ⅰ部分 Web的構成元素

第Ⅱ部分 瀏覽器的安全功能

第Ⅲ部分 接下來發生的事

/<code>

比如,從 JavaScript 的角度來看,將上述 HTML 文檔的第 3 個 P 元素(P 標籤)改變文字顏色時,會像下方這樣編寫代碼。

<code>

3、Web 應用

3.1、通過 Web 提供功能的 Web 應用

Web應用&靜態|動態內容相關概念:

  • Web 應用是指通過 Web 功能提供的應用程序。比如購物網站、網上銀行、SNS、BBS、搜索引擎和 e-learning 等。互聯網(Internet)或企業內網(Intranet)上遍佈各式各樣的 Web 應用。
  • 原本應用 HTTP 協議的 Web 的機制就是對客戶端發來的請求,返回事前準備好的內容。可隨著 Web 越來越普及,僅靠這樣的做法已不足以應對所有的需求,更需要引入由程序創建 HTML 內容的做法。
  • 類似這種由程序創建的內容稱為動態內容,而事先準備好的內容稱為靜態內容。Web 應用則作用於動態內容之上。
一文搞懂構建Web內容的技術

3.2、與 Web 服務器及程序協作的 CGI

CGI(Common Gateway Interface,通用網關接口)是指 Web 服務器在接收到客戶端發送過來的請求後轉發給程序的一組機制。在 CGI 的作用下,程序會對請求內容做出相應的動作,比如創建 HTML 等動態內容。

使用 CGI 的程序叫做 CGI 程序,通常是用 Perl、PHP、Ruby 和 C 等編程語言編寫而成。

有關 CGI 更為翔實的內容請參考 RFC3875“The Common Gateway Interface (CGI) Version 1.1”


一文搞懂構建Web內容的技術

3.3、因 Java 而普及的 Servlet

Servlet 1 是一種能在服務器上創建動態內容的程序。Servlet 是用 Java語言實現的一個接口,屬於面向企業級 Java(JavaEE,Java Enterprise Edition)的一部分。

隨著 CGI 的普及,每次請求都要啟動新 CGI 程序的 CGI 運行機制逐漸變成了性能瓶頸,所以之後 Servlet 和 mod_perl 等可直接在 Web 服務器上運行的程序才得以開發、普及。


一文搞懂構建Web內容的技術

4、數據發佈的格式及語言

4.1、可擴展標記語言

XML(eXtensible Markup Language,可擴展標記語言)是一種可按應用目標進行擴展的通用標記語言。旨在通過使用 XML,使互聯網數據共享變得更容易。

XML 和 HTML 都是從標準通用標記語言 SGML(Standard Generalized Markup Language)簡化而成。與 HTML 相比,它對數據的記錄方式做了特殊處理。


下面我們以 HTML 編寫的某公司的研討會議議程為例進行說明。

一文搞懂構建Web內容的技術

用瀏覽器打開該文檔時,就會顯示排列的列表內容,但如果這些數據被其他程序讀取會發生什麼?某些程序雖然具備可通過識別佈局特徵取出文本的方法,但這份 HTML 的樣式一旦改變,要讀取數據內容也就變得相對困難了。可見,為了保持數據的正確讀取,HTML 不適合用來記錄數據結構。

接著將這份列表以 XML 的形式改寫就成了以下的示例。


一文搞懂構建Web內容的技術

XML相比HTML的優勢:

  • XML 和 HTML 一樣,使用標籤構成樹形結構,並且可自定義擴展標籤。
  • 從 XML 文檔中讀取數據比起 HTML 更為簡單。
  • 由於 XML 的結構基本上都是用標籤分割而成的樹形結構,因此通過語法分析器(Parser)的解析功能解析 XML 結構並取出數據元素,可更容易地對數據進行讀取。
  • 更容易地複用數據使得 XML 在互聯網上被廣泛接受。比如,可用在2 個不同的應用之間的交換數據格式化。

4.2、發佈更新信息的 RSS/Atom

RSS&Atom的概念:

RSS(簡易信息聚合,也叫聚合內容)和 Atom 都是發佈新聞或博客日誌等更新信息文檔的格式的總稱。兩者都用到了 XML。


Atom 具有以下兩種標準。

  • Atom 供稿格式(Atom Syndication Format):為發佈內容而制定的網站消息來源格式,單講 Atom 時,就是指此標準。
  • Atom 出版協定(Atom Publishing Protocol):為 Web 上內容的新增或修改而制定的協議。


用於訂閱博客更新信息的 RSS 閱讀器,這種應用幾乎支持 RSS 的所有版本以及 Atom。

下面是 RSS1.0 的示例。

一文搞懂構建Web內容的技術

4.3、JavaScript 衍生的輕量級易用 JSON

JSON的概念:

  • JSON(JavaScript Object Notation)是一種以JavaScript(ECMAScript)的對象表示法為基礎的輕量級數據標記語言。
  • 能夠處理的數據類型有 false/null/true/ 對象 / 數組 / 數字 / 字符串,這 7 種類型。
<code>{"name": "Web Application Security", "num": "TR001"}/<code>

JSON的優勢:

  • JSON 讓數據更輕更純粹,並且 JSON 的字符串形式可被 JavaScript輕易地讀入。
  • 當初配合 XML 使用的 Ajax 技術也讓 JSON 的應用變得更為廣泛。
  • 另外,其他各種編程語言也提供豐富的庫類,以達到輕便操作 JSON 的目的。

有關 JSON 更為翔實的內容請參考 RFC4627“The application/json Media Type for JavaScript Object Notation (JSON)”


分享到:


相關文章: