在我的一项任务中,我试图渲染SVG图像。我花了一些时间来看到一个链接,该链接指出,为了让IIS express呈现SVG图像,您必须在web.config文件中包含以下代码
<staticContent>
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>
有效。但我不明白为什么/如何?以前我认为服务器应该发送正确的Content-Type标头。但是我的svg代码是用Javascript编写的。我认为(可能是错误的)IIS只向客户端发送HTML文件,这些HTML文件在标题中链接了Javascript。那么,这是否意味着IIS也在扫描与HTML相关的所有javascript文件?这似乎有点难以置信。如果我的HTML主文件中有10个javascript文件,其中一个文件中包含SVG文件,那是否意味着IIS会扫描所有这些文件,然后发现SVG丢失了?这是它的工作原理吗?
由于
答案 0 :(得分:7)
当您的浏览器访问网址时,它最初只会下载HTML。对于每个链接文件(Javascript,图像,CSS,SVG等),浏览器将向服务器发出单独的请求。正如您所指出的,除非识别出MIME类型,否则IIS不会提供这些文件。
要回答你的问题,不,这不是它的工作原理。 IIS不会扫描 HTML文件,它只是被动地响应来自客户端(浏览器)的请求。它是浏览器解析HTML和Javascript,并执行Javscript,根据需要额外往返服务器以获取链接资源。
修改的
IIS的MIME类型的目的有两个: