我一直在使用puppeteer下载XHR,CSS,HTML和JavaScript之类的资源,但想知道其背后的过程是什么。当我查看人偶文件时,它对request.resourceType()
表示以下内容:
包含呈现引擎感知到的请求的资源类型。
我想知道渲染引擎如何对它们进行分类。是基于 content-type 还是 request标头?
之所以提出这个问题,是因为当我在Chrome DevTools中检查https://google.com时,主HTML显示为document
,而其他类型为text/html
的文档被分类为{{1} }。
但这在Firefox中已正确分类为other
。
答案 0 :(得分:0)
您可以在Chromium源代码here中找到相应的源代码。
该过程如下:
第1步:Chrome尝试使用MIME类型进行识别
这将标识以下资源类型(source code):
document
for text/html
stylesheet
for text/css
image
for image/...
script
用于text/...
(排除文档)或包含script
的mime类型font
(如果mime类型包括font
第2步:如果不起作用,Chrome尝试使用URL /文件扩展名来识别资源类型
示例,将要识别的内容(source code):
script
for js
stylesheet
for css
image
代表jpeg
,gif
,tiff
第3步:如果这也不起作用,则other
将成为资源类型