gpt4 book ai didi

javascript - 设置多种 MimeTypes

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

我想知道如果我运行这段代码会发生什么:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>MimeType Tester</title>
<meta charset="utf-8" />
<meta content="text/xml; charset=utf-8" http-equiv="content-type" />
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
</head>
<body>
</body>
</html>

我的内容将被解析为 XML 或 HTML?两个都?其他?

我还有一个 JS 代码设置 mimetype 两次:

req = new XMLHttpRequest();
req.overrideMimeType('text/xml');
req.overrideMimeType('text/html');

我的内容将被解析为 XML 或 HTML?两个都?其他?

这两个代码之间有区别吗?结果一样吗?

最佳答案

首先获取 HTML。除非服务器解释meta http-equiv=content-type设置并将其转换为真正的HTTP header (HTML4说这是meta http-的目的) equiv,但服务器几乎从不这样做),那么 HTTP 内容类型就不会受到影响,而决定是否调用 HTML 或 XML 解析器的正是元 http-equiv 设置(或 doctype)。

因此,这通常意味着将调用 HTML 解析器,但问题外部的配置或应用程序代码可能会导致浏览器以不同的方式处理它。 (作为 XML、纯文本、二进制数据或其他数据)

至于JS,我不知道也没有测试过,但想不出为什么第二个 overrideMimeType 调用不会替换第一个调用的设置,并且请求会以text/html 的内容类型。这似乎是此处规范要求的效果:http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#the-overridemimetype%28%29-method但它没有明确涵盖这种情况。

服务器如何解释从浏览器发送的 mime 类型和内容完全取决于服务器上运行的代码。它可能会考虑 mime 类型来选择解析器,也可能会忽略它,或者做一些完全相反的事情。

关于javascript - 设置多种 MimeTypes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8984935/

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