gpt4 book ai didi

iis-7 - 为什么 IIS 要求声明 mime 类型?

转载 作者:行者123 更新时间:2023-12-02 06:15:37 24 4
gpt4 key购买 nike

在我的一项作业中,我尝试渲染 SVG 图像。我花了一些时间才找到一个链接,其中指出,为了让 IIS Express 呈现 SVG 图像,您必须在 web.config 文件中包含以下代码

<staticContent>
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>

它成功了。但我不明白为什么/如何?以前我认为服务器应该发送正确的 Content-Type header 。但我的 svg 代码是用 Javascript 编写的。我认为(也许是错误的)IIS 只向客户端发送 HTML 文件,而这些 HTML 文件在 header 中链接了 Javascript。那么,这是否意味着 IIS 也在扫描与 HTML 关联的所有 javascript 文件?这似乎有点难以置信。如果我的 HTML 主文件中有 10 个 javascript 文件,其中一个包含 SVG 文件,这是否意味着 IIS 会扫描所有这些文件,然后发现 SVG 丢失?是这样的吗?

谢谢

最佳答案

当您的浏览器访问某个 URL 时,它最初仅下载 HTML。对于每个链接的文件(Javascript、图像、CSS、SVG 等),浏览器都会向服务器发出单独的请求。正如您所指出的,除非 IIS 能够识别 MIME 类型,否则它不会提供这些文件。

回答你的问题,不,事情不是这样的。 IIS 不会扫描 HTML 文件,它只是被动响应来自客户端(浏览器)的请求。浏览器解析 HTML 和 Javascript,并执行 Javscript,根据需要额外往返服务器以获取链接资源。

编辑

IIS MIME 类型的目的有两个:

  1. 限制对服务器资源的访问。如果客户端请求 Web.config 文件,那么 IIS 当然应该阻止该请求,因为该文件可能包含密码等敏感信息。
  2. 跟踪如何处理每种文件类型。例如,HTML 文件一般应该直接发送,但 ASPX 文件需要先经过 ASP.Net 处理,然后再发送。

关于iis-7 - 为什么 IIS 要求声明 mime 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12058601/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com