Html字符集整理

                               Html字符集

如需正確的顯示HTML頁面,瀏覽器必須知道使用的何種字符集

1.ASCII       全稱“美國信息交換標準代碼”,是7比特字符集,包含128個不同的字符集,萬維網早期使用的,它只支持0-9,大寫,小寫的英文字母表,以及一些特殊字符。

2. ISO-8859-1   現代瀏覽器默認的字符集爲“ISO-8859-1”,如果 網頁使用不同於ISO-8859-1的字符,就應該在<meta>標籤進行指定。

ISO字符集是國際標準組織針對不同的字母表/語言定義的標準字符集。

3.Unicode標準

  由於上面列出的字符集都有容量限制,而且不兼容多語言環境,Unicode 聯盟開發了 Unicode 標準。Unicode 標準涵蓋了世界上的所有字符、標點和符號。不論是何種平臺、程序或語言,Unicode 都能夠進行文本數據的處理、存儲和交換

Unicode 聯盟

Unicode 聯盟開發了 Unicode 標準。他們的目標是用標準的 Unicode 轉換格式 (UTF) 來取代現有的字符集。

Unicode 標準已經獲得了成功,在 XML、Java、ECMAScript (JavaScript)、LDAP、CORBA 3.0、WML 中,Unicode 已經得到了實現。在許多操作系統以及所有的現代瀏覽器中,Unicode 同樣得到了支持。

Unicode 聯盟與領導性的標準發展組織進行合作,比如 ISO、W3C 以及 ECMA。

Unicode 可以被不同的字符集兼容。最常用的編碼方式是 UTF-8 和 UTF-16:

UTF-8

UTF8 中的字符可以是 1-4 個字節長。UTF-8 可以表示 Unicode 標準中的任意字符。UTF-8 向後兼容 ASCIIUTF-8 是網頁和電子郵件的首選編碼。

UTF-16

16 比特的 Unicode 轉換格式是一種 Unicode 可變字符編碼,能夠對全部 Unicode 指令表進行編碼。UTF-16 主要被用於操作系統和環境中,比如微軟的 Windows 2000/XP/2003/Vista/CE 以及 Java .NET 字節代碼環境。

提示: 最前面的 256 個 Unicode 字符集字符對應於 256 個 ISO-8859-1 字符。

提示: 所有 HTML 4 處理器均已支持 UTF-8,而所有 XHTML 和 XML 處理器支持 UTF-8 和 UTF-16!

字符集只是一個規則集合的名字,

字符集字庫表(character repertoire)、編碼字符集(coded character set)、字符編碼(character encoding form)。

字符編碼:

字符編碼,是編碼字符集實際存儲數值之間的轉換關係。字符,是根據字符編碼方案轉換爲一個二進制數值存儲在計算機中的。

所以,字符編碼是定義在字符集上的映射規則。(字符-------->計算機中的實際存儲值)

 

Html的編碼問題:

URL 只能使用 ASCII 字符集來通過因特網進行發送。

由於 URL 常常會包含 ASCII 集合之外的字符,URL 必須轉換爲有效的 ASCII 格式。

URL 編碼使用 "%" 其後跟隨兩位的十六進制數來替換非 ASCII 字符。

URL 不能包含空格。URL 編碼通常使用 + 來替換空格。

 

URL 編碼函數

JavaScriptPHPASP 都提供了對字符串進行URL編碼的函數。

JavaScript 中使用 encodeURI() 函數PHP 中使用 rawurlencode() 函數,ASP 中使用 Server.URLEncode() 函數。

 

HTML語言代碼

Iso語言代碼

HTML lang 屬性可用於聲明網頁或部分網頁的語言。這對搜索引擎和瀏覽器是有幫助的。

根據 W3C 推薦標準,您應該通過 <html> 標籤中的 lang 屬性對每張頁面中的主要語言進行聲明,比如:

<html lang="en">
...
</html>

XHTML 中,採用如下方式在 <html> 標籤中對語言進行聲明:

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
...
</html>

English  使用en ,Chinese(簡體)使用zh, Chinese(繁體)使用Zh

 

Http方法對比:GET對比Post

什麼是 HTTP

超文本傳輸協議(HTTP)的設計目的是保證客戶端與服務器之間的通信。

HTTP 的工作方式是客戶端與服務器之間的請求-應答協議。

web 瀏覽器可能是客戶端,而計算機上的網絡應用程序也可能作爲服務器端。

舉例:客戶端(瀏覽器)向服務器提交 HTTP 請求;服務器向客戶端返回響應。響應包含關於請求的狀態信息以及可能被請求的內容。

兩種 HTTP 請求方法:GET POST

在客戶機和服務器之間進行請求-響應時,兩種最常被用到的方法是:GET POST

  • GET - 從指定的資源請求數據。
  • POST - 向指定的資源提交要被處理的數據。

GET 方法

請注意,查詢字符串(名稱/值對)是在 GET 請求的 URL 中發送的:

/test/demo_form.php?name1=value1&name2=value2

有關 GET 請求的其他一些註釋:

  • GET 請求可被緩存
  • GET 請求保留在瀏覽器歷史記錄中
  • GET 請求可被收藏爲書籤
  • GET 請求不應在處理敏感數據時使用
  • GET 請求有長度限制
  • GET 請求只應當用於取回數據

POST 方法

請注意,查詢字符串(名稱/值對)是在 POST 請求的 HTTP 消息主體中發送的:

POST /test/demo_form.php HTTP/1.1
Host: runoob.com
name1=value1&name2=value2

有關 POST 請求的其他一些註釋:

  • POST 請求不會被緩存
  • POST 請求不會保留在瀏覽器歷史記錄中
  • POST 不能被收藏爲書籤
  • POST 請求對數據長度沒有要求

比較 GET POST

下面的表格比較了兩種 HTTP 方法:GET POST

 

GET

POST

後退按鈕/刷新

無害

數據會被重新提交(瀏覽器應該告知用戶數據會被重新提交)。

書籤

可收藏爲書籤

不可收藏爲書籤

緩存

能被緩存

不能緩存

編碼類型

application/x-www-form-urlencoded

application/x-www-form-urlencoded or multipart/form-data。爲二進制數據使用多重編碼。

歷史

參數保留在瀏覽器歷史中。

參數不會保存在瀏覽器歷史中。

對數據長度的限制

是的。當發送數據時,GET 方法向 URL 添加數據;URL 的長度是受限制的(URL 的最大長度是 2048 個字符)。

無限制。

對數據類型的限制

只允許 ASCII 字符。

沒有限制。也允許二進制數據。

安全性

POST 相比,GET 的安全性較差,因爲所發送的數據是 URL 的一部分。
在發送密碼或其他敏感信息時絕不要使用 GET

POST GET 更安全,因爲參數不會被保存在瀏覽器歷史或 web 服務器日誌中。

可見性

數據在 URL 中對所有人都是可見的。

數據不會顯示在 URL 中。

其他 HTTP 請求方法

下面的表格列出了其他一些 HTTP 請求方法:

方法

描述

HEAD

GET 相同,但只返回 HTTP 報頭,不返回文檔主體。

PUT

上傳指定的 URI 表示。

DELETE

刪除指定資源。

OPTIONS

返回服務器支持的 HTTP 方法。

CONNECT

把請求連接轉換到透明的 TCP/IP 通道。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章