一旦瀏覽器獲得了主html頁面,它如何知道應該從web服務器再次請求哪些嵌入式內容,哪些只是外部鏈接?它是基於標籤的類型,例如?瀏覽器如何從HTML頁面檢測嵌入式網頁內容?
如果是這樣,有人可以給我一個這些標籤是什麼的參考?
謝謝。
一旦瀏覽器獲得了主html頁面,它如何知道應該從web服務器再次請求哪些嵌入式內容,哪些只是外部鏈接?它是基於標籤的類型,例如?瀏覽器如何從HTML頁面檢測嵌入式網頁內容?
如果是這樣,有人可以給我一個這些標籤是什麼的參考?
謝謝。
是的,標籤幫助瀏覽器識別要加載的資源。在下載/檢索內容之後,瀏覽器根據響應中的內容類型標題確定如何處理內容。
HTML5規範定義了元素類別「Embedded content」:
嵌入式內容是導入另一個資源到文檔或內容從被插入到文檔另一詞彙內容。
它列出下列元素:
audio
canvas
embed
iframe
img
math
object
svg
video
元素,如link
或script
(無論是在Metadata category)也可以參考其他ressources用戶代理(瀏覽器,屏幕閱讀器,...)可以自由鏈接到或包含或做任何他們想做的事情。例如,Firefox或Chromium等瀏覽器將(默認情況下)加載和「應用」鏈接在link
元素中的CSS,該元素的值爲rel
值= stylesheet
。 Lynx或w3m等瀏覽器不會那樣做。他們只是忽略了這一聯繫。
對於link
,HTML5 states該鏈接類型「是指向將被用於擴充當前文檔,通常由用戶代理自動處理資源」:
兩類的鏈接可以使用
link
元素創建:鏈接到外部資源和超鏈接。 link types section定義特定的鏈接類型是外部資源還是超鏈接。
也許還考慮style
屬性(內聯CSS),其中可能包括一個background-image
url
。
假設瀏覽器只有html頁面,它不知何故需要知道什麼是外部鏈接以及要下載的web對象是什麼,例如, js,css,img。下載對象後,瀏覽器從HTTP響應頭中檢查內容類型,但是,我想知道瀏覽器如何確定要預先下載哪些對象。 –
這就是HTML合規性和腳本支持的起源。例如:如果某個特定版本的Firefox支持html5和額外的javascript構造,則意味着它能夠理解標籤中的內容,如規範和標籤的屬性。如果標籤需要下載一個新的資源進行渲染,瀏覽器將下載並使用該資源。如果它不理解標籤,瀏覽器將忽略標籤及其內容。 – randominstanceOfLivingThing