dhtml shtml xhtml的区别解析

dhtml: 
确切地说,DHTML只是一种制作网页的概念,实际上没有一个组织或机构推出过所谓的DHTML标准或技术规范之类的。DHTML不是一种技术、标准或规范,DHTML只是一种将目前已有的网页技术、语言标准整和运用,制作出能在下载后仍然能实时变换页面元素效果的网页的设计概念。

DHTML大致包含以下网页技术、标准或规范: 
HTML 4.0 
没什么好说的,网页的基础语言标准。 
CSSL 
注意!不是CSS,是CSSL,它是Clent-Side Scripting Language的缩写,译作“客户端脚本语言”,主要有JavaScript(JS),VBScript(VBS),JScript。Netscape主要支持JS,IE主要支持JS,VBS和JScript。 
DOM 
Document Object Model的缩写,译作“文档对象模型”,是W3C日前极力推广的web技术标准之一,它将网页中的内容抽象成对象,每个对象拥有各自的属性(Properties)、方法(Method)和事件(Events),这些都可以通过上面讲到的CSSL来进行控制。IE和NS的对象模型都是以W3C的公布的DOM为基准,加上自己的Extended Object(扩展对象)来生成的。 
CSS 
这才是Cascading Style Sheets(层叠样式表单)的缩写,也是在论坛讨论最多的技术规范,它是HTML的辅助设计规范,用来弥补HTML在排版上的所受的限制导致的不足,它是DOM的一部分。理论上说通过CSSL动态地改变CSS属性可以做出任何你想要的页面视觉效果。 
所以,简单地说,要实现DHTML,就是以HTML为基础,运用DOM将页面元素对象化,利用CSSL控制这些对象的CSS属性以达到网页的动态视觉效果。

shtml: 
问起SHTML和HTML的区别,如果用一句话来解释就是:SHTML 不是HTML而是一种服务器 API,shtml是服务器动态产成的html.

虽然两者都是超文本格式,但shtml是一种用于SSI技术的文件。 也就是Server Side Include--SSI 服务器端包含指令。 如果Web Server有SSI功能的话(大多数(尤其是基于Unix平台)的WEB服务器如Netscape Enterprise Server等均支持SSI命令)。 
会对shtml文件特殊招待。 先扫一次shtml文件看没有特殊的SSI指令现在。 
有就按Web Server设定规则解释SSI指令。 解释完后跟一般html一起掉去客户端。 
shtml 
使用SSI(Server Side Include)的html文件扩展名,SSI(Server Side Include),通常称为"服务器端嵌入"或者叫"服务器端包含",是一种类似于ASP的基于服务器的网页制作技术。

SSI工作原理: 
将内容发送到浏览器之前,可以使用“服务器端包含 (SSI)”指令将文本、图形或应用程序信息包含到网页中。例如,可以使用 SSI 包含时间/日期戳、版权声明或供客户填写并返回的表单。对于在多个文件中重复出现的文本或图形,使用包含文件是一种简便的方法。将内容存入一个包含文件中即可,而不必将内容输入所有文件。通过一个非常简单的语句即可调用包含文件,此语句指示 Web 服务器将内容插入适当网页。而且,使用包含文件时,对内容的所有更改只需在一个地方就能完成。

因为包含 SSI 指令的文件要求特殊处理,所以必须为所有 SSI 文件赋予 SSI 文件扩展名。默认扩展名是 .stm、.shtm 和 .shtml

Web 服务器在处理网页的同时处理 SSI 指令。当 Web 服务器遇到 SSI 指令时,直接将包含文件的内容插入 HTML 网页。如果“包含文件”中包含 SSI 指令,则同时插入此文件。除了用于包含文件的基本指令之外,还可以使用 SSI 指令插入文件的相关信息(如文件的大小)或者运行应用程序或 shell 命令。

网站维护常常碰到的一个问题是,网站的结构已经固定,却为了更新一点内容而不得不重做一大批网页。SSI提供了一种简单、有效的方法来解决这一问题,它将一个网站的基本结构放在几个简单的HTML文件中(模板),以后我们要做的只是将文本传到服务器,让程序按照模板自动生成网页,从而使管理大型网站变得容易。

所以,利用SHTML格式的页面目的和 ASP 差不多,但是因为是 API 所以运转速度更快,效率更高,比ASP快,比HTML慢,但由于可以使用服务器端包含,因此使页面更新容易(特别是批量更新banner,版权等),想象一下吧,你有一段 HTML,要在中间穿插一些特殊的服务端脚本,比如插入其他 HTML 段落,你选择 ASP 来完成这个任务,但是如果任务更繁重,需要更多的时间,比如 5 s,这个时候你不用 ASP 而用 SHTML,或许处理时间就只用 4 s 了.

xhtml: 
HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言,看起来与HTML有些相象,只有一些小的但重要的区别,XHTML就是一个扮演着类似HTML的角色的XML,所以,本质上说,XHTML是一个过渡技术,结合了XML(有几分)的强大功能及HTML(大多数)的简单特性。

2000年底,国际W3C(World Wide Web Consortium)组织公布发行了XHTML 1.0版本。XHTML 1.0是一种在HTML 4.0基础上优化和改进的的新语言,目的是基于XML应用。XHTML是一种增强了的HTML,它的可扩展性和灵活性将适应未来网络应用更多的需求。下面是W3C的HTML工作组主席Steven Pemberton回答的关于XHTML的常见基础问题。

(1)XHTML解决HTML语言所存在的严重制约其发展的问题。HTML发展到今天存在三个主要缺点:不能适应现在越多的网络设备和应用的需要,比如手机、PDA、信息家电都不能直接显示HTML;由于HTML代码不规范、臃肿,浏览器需要足够智能和庞大才能够正确显示HTML;数据与表现混杂,这样你的页面要改变显示,就必须重新制作HTML。因此HTML需要发展才能解决这个问题,于是W3C又制定了XHTML,XHTML是HTML向XML过度的一个桥梁。 
(2)XML是web发展的趋势,所以人们急切的希望加入XML的潮流中。XHTML是当前替代HTML4标记语言的标准,使用XHTML 1.0,只要你小心遵守一些简单规则,就可以设计出既适合XML系统,又适合当前大部分HTML浏览器的页面。这个意思就是说,你可以立刻设计使用XML,而不需要等到人们都使用支持XML的浏览器。这个指导方针可以使web平滑的过渡到XML。 
(3)使用XHTML的另一个优势是:它非常严密。当前网络上的HTML的糟糕情况让人震惊,早期的浏览器接受私有的HTML标签,所以人们在页面设计完毕后必须使用各种浏览器来检测页面,看是否兼容,往往会有许多莫名其妙的差异,人们不得不修改设计以便适应不同的浏览器。 
(4)XHTML是能与其它基于XML的标记语言、应用程序及协议进行良好的交互工作。 
(5)XHTML是Web标准家族的一部分,能很好在无线设备等其它用户代理上。 
(6)在网站设计方面,XHTML可助你去掉表现层代码的恶习,帮助你养成标记校验来测试页面工作的习惯。

(0)

相关推荐

  • dhtml shtml xhtml的区别解析

    dhtml:  确切地说,DHTML只是一种制作网页的概念,实际上没有一个组织或机构推出过所谓的DHTML标准或技术规范之类的.DHTML不是一种技术.标准或规范,DHTML只是一种将目前已有的网页技术.语言标准整和运用,制作出能在下载后仍然能实时变换页面元素效果的网页的设计概念. DHTML大致包含以下网页技术.标准或规范:  HTML 4.0  没什么好说的,网页的基础语言标准.  CSSL  注意!不是CSS,是CSSL,它是Clent-Side Scripting Language的缩写

  • iOS开发中#import、#include和@class的区别解析

    1. 一般来说,导入objective c的头文件时用#import,包含c/c++头文件时用#include. 2. #import 确定一个文件只能被导入一次,这使你在递归包含中不会出现问题.<标记> 所以,#import比起#include的好处就是不会引起交叉编译. #import && #class: 1. import会包含这个类的所有信息,包括实体变量和方法(.h文件中),而@class只是告诉编译器,其后面声明的名称是类的名称,至于这些类是如何定义的,后面会再告

  • HashSet和TreeSet使用方法的区别解析

    一.问题 1.HashSet,TreeSet是如何使用hashCode()和equal()方法的 2.TreeMap,TreeSet中的对象何时以及为何要实现Comparable接口? 二.回答: 1.HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的,只不过Set用的只是Map的key. 2.Map的key和Set都有一个共同的特性就是集合的唯一性.TreeMap更是多了一个有序性. 3.hashCode和equal()是HashMap用的,因为无需排序所以只需

  • Python中 传递值 和 传递引用 的区别解析

    对于不可变类型传递值(不会影响原数据) 不可变类型 对于可变类型传递引用(会影响原数据) 不可变类型传递引用 python3不可变类型 Number(数字) String(字符串) Tuple (元组) python3可变类型 List(列表) Dictionary (字典) Sets(集合) 参数传递的思考 我们声明的变量名可以看做便签 为变量名赋值的操作可以看做将标签贴到"值"的表面(值可以是可变类型,和不可变类型) 以链表中的节点对象为例(实例化的节点对象为不可变类型, 但对象中

  • mysql清空表数据的两种方式和区别解析

    在MySQL中删除数据有两种方式: truncate(截短)属于粗暴型的清空 delete属于精细化的删除 删除操作 如果你需要清空表里的所有数据,下面两种均可: delete from tablename; truncate table tablename; 而如果你只是删除一部分数据,就只能使用delete: delete from tablename where case1 and case2; 区别 在精细化的删除部分数据时,只能使用delete. 而清空所有表数据时,两者均可,此时这两

  • Java 比较接口comparable与comparator区别解析

    这篇文章主要介绍了Java 比较接口comparable与comparator区别解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 package test0; import java.util.Comparator; //限定修饰符为friend不能为public,一个java文件中只能有一个public类 /*** * java程序是从一个public类的main函数开始执行的, *(其实是main线程),就像c程序是从main()函数开

  • PHP中类静态调用和范围解析操作符的区别解析

    具体代码如下所示: <?php //在子类或类内部用"::"调用本类或父类时,不是静态调用方法,而是范围解析操作符. class ParentClass { public static $my_static = 'parent var '; function test() { self::who(); // 输出 'parent' 是范围解析,不是静态调用 $this->who(); // 输出 'child' static::who(); // 延迟静态绑定 是范围解析,

  • Python中print和return的作用及区别解析

    print只是为了向用户显示一个字符串,表示计算机内部正在发生的事情.计算机却无法使用该print出现的内容. return是函数的返回值.该值通常是人类用户看不到的,但是计算机可以在其他功能中使用它. print不会以任何方式影响函数.它只是为了帮助人类使用函数.它对于理解程序如何工作非常有用,并且可以在调试中用于检查程序中的各种值而不会中断程序.除了帮助人类看到人们想要看到的结果,print其余的事情都不做. return是函数返回值的主要方式.所有函数都将返回一个值,如果没有return语

  • break在scala和java中的区别解析

    这篇文章主要介绍了break在scala和java中的区别解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 scala中的break和java中的break作用是一样的,都是跳出循环,只两者的用法不太一样. 1.scala中break中的用法import scala.util.control.Breaks import scala.util.control.Breaks object breakDemo { //break在scala中的使用

  • Java if(boolean)和if(boolean=true)区别解析

    这篇文章主要介绍了Java if(boolean)和if(boolean=true)区别解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 我们都知道if(){}条件的括号中放的是布尔值,但是现在有两种情况,都是放布尔值,但是最终的结果是不相同的 这种情况是没有结果输出的 package com.company; public class three { public static void main(String s[]) { boolean

随机推荐