Javascript 设置多个mimetype
我想知道如果我运行以下代码会发生什么:Javascript 设置多个mimetype,javascript,html,mime-types,content-type,meta-tags,Javascript,Html,Mime Types,Content Type,Meta Tags,我想知道如果我运行以下代码会发生什么: <!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="cont
<!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?二者都其他的
两种代码之间有区别吗?
结果是否相同?首先获取HTML。除非服务器解释
meta-http-equiv=content-type
设置并将其转换为真实的http头(HTML4说这是meta-http-equiv
的目的,但服务器几乎从不这样做),否则http内容类型不会受到影响,而不是meta-http-equiv设置(或doctype)它确定是否调用HTML或XML解析器
因此,这通常意味着将调用HTML解析器,但问题外部的配置或应用程序代码可能会导致浏览器以不同的方式处理它。(如XML、纯文本、二进制数据或其他)
至于JS,我不知道也没有测试过它,但是我想不出第二个OverrideMetype调用为什么不能替换第一个调用的设置,请求的内容类型是text/html
。这似乎是规范要求的结果:但它没有明确涵盖这种情况
服务器如何解释从浏览器发送的mime类型和内容完全取决于服务器上运行的代码。选择解析器时可能会考虑mime类型,也可能会忽略它,或者做完全相反的事情。我认为这是无效的。服务的内容类型不能同时为这两种类型。结果可能取决于实现。后面的statemnt没有覆盖?我认为行为没有定义。它不在规范中,因此依赖于浏览器。那么javascript呢?第二个对第一个的作用不就是第一个对HTML的作用吗?同样,可能依赖于实现。这就是我对JS部分的看法。谢谢你的引用。
req = new XMLHttpRequest();
req.overrideMimeType('text/xml');
req.overrideMimeType('text/html');