为什么服务器端包含的语法是<!--#include file="suchandsuch"-->
?
将语义上有意义的内容放在注释中似乎很尴尬且具有误导性 - 事实上,当我第一次看到这种语法时,我认为它是一个已被“注释掉”的包含内容。设计语言使用这种语法而不是像这样的替代方案背后的原因是什么<% #include file="suchandsuch" %>
?
(我知道用简单的替换来解析该示例替代方案会呈现类似<% <% vbscript_stuff %> html_stuff %>
,但更智能地解析它以避免滥用 HTML 注释应该是微不足道的。)
我认为主要原因是服务器端处理(在服务器端包含的情况下)直接由 IIS 处理,然后传递给与内容相关的处理引擎。
因此,使用问题中的示例,如果语法是;
<% #include file="suchandsuch" %>
然后它直接处理 ASP 处理语法,这意味着 SSI 定义在其方法中不再通用。
如中所述MSDN 库文档 http://msdn.microsoft.com/en-us/library/ms525940(v=vs.90).aspx
此伪指令可用于 ASP 页、STM 页、INC 页或具有映射到 SSI 解释器 (Ssinc.dll) 或 ASP 解释器 (Asp.dll) 的文件扩展名的任何页。如果安装了 IIS 管理器,则可以修改默认应用程序映射并添加新映射。
也作为<!-- -->
注释是在服务器端处理的,它永远不会到达客户端的浏览器,因此 HTML 语义不受影响。
有用的链接
- IIS:有关服务器端包含 (SSI) 语法的注释(重新访问知识库文章 203064) http://blogs.iis.net/robert_mcmurray/archive/2010/12/28/iis-notes-on-server-side-includes-ssi-syntax-kb-203064-revisited.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)