Chrome 開發人員高峰會 - 開放網路平台摘要

作者:Greg Simon 和 Eric Seidel

Blink 是 Chrome 的開放原始碼轉譯引擎。Blink 團隊正在改進網頁,並解決開發人員遇到的問題。

自 4 月推出以來,我們已在幕後進行了許多改善。

我們首先刪除一半不必要的來源。我們還沒結束!我們並非盲目執行這項作業:我們會根據選擇回報的 Chrome 使用者提供的匿名匯總統計資料,移除不必要的程式碼。

我們每六週就會發布新的開發人員 API,這與 Chrome 的發布時程相同。

從 Blink 分支時,我們做出的重大變更之一是新增意圖系統:每次要變更網站平台前,我們都會向 Blink 開發人員發布公開公告,說明我們打算新增或移除哪些功能。接著,我們就會開始編寫程式碼!功能提交後的隔天,就會在我們的 Canary 版本中發布。這項功能預設為關閉,但您可以使用 about:flags 開啟。

接著,我們會在公開郵寄清單上宣布出貨意圖

chromestatus.com 中,您可以查看我們正在開發的功能、已發布的功能,以及我們計畫淘汰的功能。你也可以查看 Chromium 發布網誌,其中包含錯誤連結和追蹤器資訊主頁。

另一項重大變更是我們將移除 WebKit 前置字串。意圖並非使用 Blink 前置字串,而是使用執行階段旗標 (而非僅限於編譯時間旗標)。

Android WebView 一直是個大挑戰,但 HTML5Test 顯示情況正在改善。我們已朝向桌面端更進一步,在各平台上提供一組網路平台 API (Web Audio 就是很好的例子)

但香腸機是如何運作的呢?我們對 Blink 所做的每項變更都會立即執行超過 30,000 項測試,更不用說日後執行的所有 Chromium 測試。我們會 24 小時監控,使用數千個機器人、數千個基準,以及系統,將數百萬個無法連線的網頁丟進引擎,確保引擎不會當機。我們瞭解行動裝置的速度明顯較慢,目前也正努力改善這項問題。

那麼有什麼新功能呢?

  • 網頁元件:請參閱 Eric Bidelman 的演講!
  • 網頁動畫:複雜、同步且效能極佳的動畫,盡可能使用 GPU
  • 部分版面配置:只計算所需內容!
  • CSS 格狀
  • 回應式圖片: srcset 或 srcN 或 ?
  • 更快的文字自動調整大小功能,以及一致的子像素字型
  • Blink 使用的繪圖系統 Skia 將從 Windows 上的 GDI 改為 DirectWrite

我們想瞭解你的想法!

如果您對 C++ 情有獨鍾,並想與我們一起編寫 C++ 程式碼,我們所有的程式碼都是開放的。您不必向任何人告知,也不必向我們宣傳。只要發布修補程式或回報錯誤即可!

簡報: Blink

安全性

作者:Parisa Tabriz

如今,越來越多人透過網路連上網路,而且來自更多地方。

我們已連結筆電、手機和平板電腦,不久後也將連結個人裝置和配件。我們會透過不受信任的網路 (有時甚至是敵對網路) 存取網路。我們的生活越來越多地轉移到線上,因此我們必須採取措施保護自己的資料和使用者資料。

最重要的是,身為開發人員,我們需要瞭解 SSL 的必要性和實用性。

什麼是 SSL?是安全資料傳輸層的縮寫,這是一種密碼編譯通訊協定,旨在提供網際網路通訊安全性。透過加密和完整性機制確保隱私權,防止他人窺探或竄改網路連線。SSL 有其缺陷,但它是確保網際網路上任何資料通訊安全性的主流方式,也是唯一的方式。

根據 SSL Pulse 的資料,一年前 SSL 的採用率約為 15%;目前則已超過 50%。

兩個縮寫字:

  • TLS:在大多數情況下,與 SSL 相同。具體來說,SSL 3.1 已重新命名為 TLS,而 TLS 是 IETF 標準名稱。但它們可以互換!

  • HTTPS:這是 HTTP over SSL,只是 SSL 和標準 HTTP 的安全性功能層。首先,用戶端和伺服器會握手,使用公開/私密金鑰密碼學建立共用金鑰,而 SSL 通訊協定第二部分會使用這項金鑰來加密通訊。

網路上的社交活動可能讓人覺得安全、即時且快速。感覺就像直接與網站對話。但實際上,這並非直接連結。我們的通訊會透過 Wi-Fi 路由器、ISP 和裝置與網站之間的其他中介伺服器傳送。如果沒有 HTTPS,所有通訊都會以純文字傳送。

問題是,使用者很少輸入指定 HTTPS 的完整網址,或是點按使用 HTTP 的連結。更糟的是,攻擊者可能會發動中間人攻擊,並將 HTTPS 替換為 HTTP。2009 年推出的 SSLstrip 工具就是用於這類用途。2010 年推出的 Firesheep 會監聽開放式 Wi-Fi 網路,以便攔截傳送的 Cookie,這代表你可能會聽到即時通訊內容,或是登入他人的 Facebook 帳戶。

不過,SSL 的價格 (相對來說) 便宜,而且部署快速且簡單 (請參閱 ssllabs.com 和 Ilya Grigorik 的書籍《High Performance Browser Networking》)。公開金鑰固定功能可讓網站營運商限制哪些憑證授權單位可以為其網站核發憑證。

「今年 1 月 (2010 年),Gmail 預設改為使用 HTTPS。為此,我們不需部署額外的機器或特殊硬體。在實際運作的前端機器上,SSL 占 CPU 負載的比例不到 1%,每個連線的記憶體使用量不到 10 KB,網路額外負載不到 2%…

如果您現在停止閱讀,只需記住一件事:SSL 不再需要大量運算資源。」

Overclocking SSL,Adam Langley (Google)

最後,我們最常看到的幾個錯誤如下:

  • 混合內容:使用 HTTP 和 HTTPS 的網站。使用者必須點選權限按鈕才能載入內容,這會讓他們感到困擾。(Chrome 和 Firefox 實際上會禁止 iframe 中的混合內容)。請使用相對或方案相對網址 (例如 <style src="//foo.com/style.css">),確保 HTTPS 網頁中的所有資源都能透過 HTTPS 載入。
  • 不安全的 Cookie:透過 HTTP 連線傳送明文。如要避免這種情況,請在 Cookie 標頭上設定 secure 屬性。您也可以使用新的「嚴格傳輸安全性」標頭,要求使用 SSL 傳輸安全性 (HSTS)。

重點整理

  • 如果您重視使用者資料的隱私權和完整性,就必須使用 SSL。不僅速度更快、操作更簡單,而且費用也更低。
  • 避免常見的導入陷阱,例如混合內容錯誤或未設定正確的 HTTP 標頭位元。
  • 使用相對網址或配置相對網址。
  • 查看一些新功能,例如 HSTS 和憑證綁定

投影片: 有 SSL 嗎?

適用於多裝置網頁的媒體 API

作者:Sam Dutton 和 Jan Linden

隨著網路上新裝置和平台的數量不斷增加,音訊、視訊和即時通訊的使用量也大幅成長。線上媒體正在改變我們消費各種媒體的方式。

根據英國政府研究,53% 的成人會在觀看電視時進行「媒體多工處理」:使用行動裝置分享及觀看媒體內容。在許多國家/地區,電視收視人數減少,線上觀看人數則增加。舉例來說,在中國,2012 年北京只有 30% 的家庭觀看電視,比 2009 年的 70% 還要少。根據 W3C 2013 年重點,過去一年行動裝置上的影片觀看次數成長一倍。今年,美國民眾每天使用數位媒體的平均時間將超過觀看電視。觀看不再是被動的行為。在美國,87% 的娛樂消費者表示,他們會在觀看電視時使用至少一個第二螢幕裝置。根據 Cisco的說法,「到 2017 年,全球消費者流量中,有 80% 到 90% 會是影片」。也就是說,每秒鐘有近百萬分鐘的影片。

那麼,我們為網頁程式開發人員提供哪些功能?開放式網路的媒體 API 生態系統:標準化且可互通的技術,可跨多個平台運作。

重點整理

  • WebRTC 可在瀏覽器中提供即時通訊功能,目前已廣泛支援行動裝置和電腦。目前總共有超過 120 億個 WebRTC 端點。
  • Web Audio 提供音訊合成和處理的複雜工具。
  • Web MIDI 與 Web Audio 整合,可與 MIDI 裝置互動。
  • 音訊和視訊元素現在支援超過 85% 的行動裝置和電腦版瀏覽器
  • 媒體來源擴充功能可用於自適應串流和時間轉移。
  • EME 可播放受保護的內容。
  • 文字轉錄稿、輔助字幕和軌跡元素可啟用字幕、輔助字幕、時間指定中繼資料、深層連結和深層搜尋。

簡報: 適用於多裝置網頁的媒體 API