HTML、HTML5重難點

小白沖沖沖沖 發佈 2020-01-02T06:10:35+00:00

一、XHTML與HTML的區別文檔結構XHTMLDOCTYPE 是強制性的<html>中的 XML namespace 屬性是強制性的<html>、<head>、<title>以及 <body>也是強制性的元素語法XHTML 元素必須正確嵌套XHTML 元素必須始終關閉XHTML

一、XHTML與HTML的區別

文檔結構

XHTML DOCTYPE 是強制性的

<html>中的 XML namespace 屬性是強制性的

<html>、<head>、<title>以及 <body>也是強制性的

元素語法

XHTML 元素必須正確嵌套

XHTML 元素必須始終關閉

XHTML 元素必須小寫

XHTML 文檔必須有一個根元素

屬性語法

XHTML 屬性必須使用小寫

XHTML 屬性值必須用引號包圍

XHTML 屬性最小化也是禁止的

二、HTML5中一些新特性

用於繪畫的 canvas 元素

用於媒介回放的 video 和 audio 元素

對本地離線存儲的更好的支持

新的特殊內容元素,比如 article、footer、header、nav、section

新的表單控制項,比如 calendar、date、time、email、url、search

注意:最新版本的 Safari、Chrome、Firefox 以及 Opera 支持某些 HTML5 特性。Internet Explorer 9 將支持某些 HTML5 特性。

IE9 以下版本瀏覽器兼容HTML5的方法,使用本站的靜態資源的html5shiv包:

<!--[if lt IE 9]>
    <script src="http://cdn.static.runoob.com/libs/html5shiv/3.7/html5shiv.min.js"></script>
<![endif]-->
   /*html5*/
article,aside,dialog,footer,header,section,nav,figure,menu{display:block}

我自己是一名從事了多年開發的web前端老程式設計師,目前辭職在做自己的web前端私人定製課程,今年年初我花了一個月整理了一份最適合2019年學習的web前端學習乾貨,各種框架都有整理,送給每一位前端小夥伴,想要獲取的可以關注我的頭條號並在後台私信我:前端,即可免費獲取。

三、HTML5web存儲

使用HTML5可以在本地存儲用戶的瀏覽數據。

早些時候,本地存儲使用的是 cookie。但是Web 存儲需要更加的安全與快速. 這些數據不會被保存在伺服器上,但是這些數據只用於用戶請求網站數據上.它也可以存儲大量的數據,而不影響網站的性能.

數據以 鍵/值 對存在, web網頁的數據只允許該網頁訪問使用。

瀏覽器支持:

Internet Explorer 8+, Firefox, Opera, Chrome, 和 Safari支持Web 存儲。

注意: Internet Explorer 7 及更早IE版本不支持web 存儲.

localStorage 和 sessionStorage

客戶端存儲數據的兩個對象為:

localStorage - 用於長久保存整個網站的數據,保存的數據沒有過期時間,直到手動去除。

sessionStorage - 用於臨時保存同一窗口(或標籤頁)的數據,在關閉窗口或標籤頁之後將會刪除這些數據。

在使用 web 存儲前,應檢查瀏覽器是否支持 localStorage 和sessionStorage:

if(typeof(Storage)!=="undefined")
{
    // 是的! 支持 localStorage  sessionStorage 對象!
    // 一些代碼.....
} else {
    // 抱歉! 不支持 web 存儲。
}

不管是 localStorage,還是 sessionStorage,可使用的API都相同,常用的有如下幾個(以localStorage為例):

保存數據:localStorage.setItem(key,value);

讀取數據:localStorage.getItem(key);

刪除單個數據:localStorage.removeItem(key);

刪除所有數據:localStorage.clear();

得到某個索引的key:localStorage.key(index);

四、HTML5 應用程式緩存

HTML5 -應用程式緩存=>使用文章連結跳轉點這裡

五、HTML5 伺服器發送事件(Server-Sent Events)

Server-Sent 事件指的是網頁自動獲取來自伺服器的更新。

以前也可能做到這一點,前提是網頁不得不詢問是否有可用的更新。通過伺服器發送事件,更新能夠自動到達。

例子:Facebook/Twitter 更新、股價更新、新的博文、賽事結果等。

所有主流瀏覽器均支持伺服器發送事件,除了 Internet Explorer。

<h1>獲取服務端更新數據</h1>
<div id="result"></div>
if(typeof(EventSource)!=="undefined")
{
        var source=new EventSource("demo_sse.php");
        source.onmessage=function(event)
        {
                document.getElementById("result").innerHTML+=event.data + "<br>";
        };
}
else
{
        document.getElementById("result").innerHTML="抱歉,你的瀏覽器不支持 server-sent 事件...";
}

六、HTML5 WebSocket

WebSocket 是 HTML5 開始提供的一種在單個 TCP 連接上進行全雙工通訊的協議。

WebSocket 使得客戶端和伺服器之間的數據交換變得更加簡單,允許服務端主動向客戶端推送數據。在 WebSocket API 中,瀏覽器和伺服器只需要完成一次握手,兩者之間就直接可以創建持久性的連接,並進行雙向數據傳輸。

在 WebSocket API 中,瀏覽器和伺服器只需要做一個握手的動作,然後,瀏覽器和伺服器之間就形成了一條快速通道。兩者之間就直接可以數據互相傳送。

現在,很多網站為了實現推送技術,所用的技術都是 Ajax 輪詢。輪詢是在特定的的時間間隔(如每1秒),由瀏覽器對伺服器發出HTTP請求,然後由伺服器返回最新的數據給客戶端的瀏覽器。這種傳統的模式帶來很明顯的缺點,即瀏覽器需要不斷的向伺服器發出請求,然而HTTP請求可能包含較長的頭部,其中真正有效的數據可能只是很小的一部分,顯然這樣會浪費很多的帶寬等資源。

HTML5 定義的 WebSocket 協議,能更好的節省伺服器資源和帶寬,並且能夠更實時地進行通訊。

詳情和代碼示例:.

七、HTTP狀態消息

1xx: 信息

2xx: 成功

3xx: 重定向

4xx: 客戶端錯誤

5xx: 伺服器錯誤

詳情

八、HTTP 方法:GET 對比 POST

兩種最常用的 HTTP 方法是:GET 和 POST。

什麼是 HTTP ?

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

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

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

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

GET - 從指定的資源請求數據。

POST - 向指定的資源提交要被處理的數據。

GET 方法

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

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

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

GET 請求可被緩存

GET 請求保留在瀏覽器歷史記錄中

GET 請求可被收藏為書籤

GET 請求不應在處理敏感數據時使用

GET 請求有長度限制

GET 請求只應當用於取回數據

POST 方法

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

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

POST 請求不會被緩存

POST 請求不會保留在瀏覽器歷史記錄中

POST 不能被收藏為書籤

POST 請求對數據長度沒有要求


  • 其他 HTTP 請求方法

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



原文連結:https://blog.csdn.net/weixin_39834961/article/details/103765680

作者:yhlyeah

關鍵字: