2016-11-02 46 views
1

可以編譯HTML嗎?這並不難,因爲所有的標籤都可以很容易地用字節替換,這樣可以加快詞法分析器的速度,因爲它不必從流中查詢太多。這也會使網頁更小,更容易發送給客戶。如何編譯HTML

如果不可能,有什麼具體原因,爲什麼不呢?

+0

不完全是你問的,但有像HAML這樣的較小版本的HTML。 –

+0

HTML是一種帶有解釋器的標記語言(儘管它不是圖靈完整的)。該標準使得標籤可以通過標籤讀取。沒有辦法將其編譯爲字節碼或本地代碼。這與你如何從HTML或XML中製作ELF或PE二進制文件或詢問爲什麼它不作爲標記的可執行文件運行完全不同。 – jww

+0

@jww我不是說你把它編譯成ELF或MACH-O文件,我說你可以非常容易地將標籤映射到字節(可能是2來處理大量可能的標籤)類似如何將ASM直接轉換爲字節流,這將使文件更小(大部分時間)。 –

回答

2

爲什麼你需要編譯HTML?從服務器發送到客戶端時的HTML響應已經以位串的形式出現。此外,即使您正在應用任何自定義轉換,您如何確保在客戶端執行解碼以獲得原始響應。

但是,如果你關心的是響應壓縮有效地利用網絡帶寬,那麼還有別的辦法做同樣的: -

  1. 縮減大小精縮CSS,JS文件。您甚至可以將所有應用級別的CSS,JS文件聚合到一個大文件中,並將其發送到一個 轉,以避免不必要的網絡調用。內容編碼

  2. 設爲gzip的(但請務必檢查「接受」,在請求頭 )

  3. 靜態文件高速緩存的使用。

欲瞭解更多信息,請參閱https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html。希望它可以幫助你。