AJAX+ML+DTD概念 &AJAX简介与原理

(1)什么是ajax?

ajax 的全称是Asynchronous JavaScript and XML,其中,Asynchronous 是异步的意思,它有别于传统web开发中采用的同步的方式。
AJAX代表异步JavaScript和XML,它是一组web开发技术,允许web应用程序异步工作,在后台处理对服务器的任何请求等等,那么什么是AJAX ?
JavaScript是一种流行的编码语言,在其功能中,JavaScript管理网站的动态内容并允许用户进行交互。(XML是HTML等标记语言的另一种变体),其名称为可扩展标记语言。如果HTML是用来显示数据的,那么XML就是用来包含和携带数据的。
JavaScript和XML在AJAX中都是异步工作的,因此,任何使用AJAX的web应用程序都可以从服务器发送和检索数据,而不需要重新加载整个页面。

(2)什么是XML?

XML是 EXtensible Markup Language(可扩展标识语言)的简写。
XML和HTML(Hypertext Markup Language 超文本标记语言)一样,同样来源于SGML。

XML与HTML区别:
XML 不是 HTML替代者,只是HTML补充,它的用途完全不同.XML并不是标记语言。它只是用来创造标记的语言,XML中的标签不像HTML中的标签是预定义的,是需要自己定义的,如HTML中table ,body,等这些标签是预定义的,而XML中则完全由自己来定义这些标签。

用途:

1、HTML 是将数据和显示格式混合在一起的,是用于以人可直接阅读的格式显示数据。如在body,table等这些标签中显示数据,在 HTML 中,只能使用这个有限的标签集,因此可显示的信息类型也是有限的。
2、XML是用来描述、存储和交换数据的,不包含任何的显示格式的信息,因此它与数据库功能类似.

(3)SGML是什么?

SGML是指“标准通用标记语言”(Standard Generalized Markup Language), 是1986年出版发布的一个信息管理方面的国际标准(ISO 8879),它是国际上定义电子文件结构和内容描述的标准,是一种非常复杂的文档的结构,主要用于大量高度结构化数据的防卫区和其他各种工业领域,利于分类和索引。
SGML规定了在文档中嵌入描述标记的标准格式,指定了描述文档结构的标准方法,目前在WEB上使用的HTML格式便是使用固定标签集的一种SGML文档。即HTML可以视为SGML的子集。

什么是SGML?

SGML是一种在Web发明之前就早已存在的用标记来描述文档资料的通用语言。但SGML十分庞大且难于学习和使用。鉴于此,人们提出了HTML语言。
但SGML太庞大了,学用两难尚且不说,就是全面实现SGML的浏览器也非常困难。于是Web标准化组织W3C建议使用一种精简的SGML版本——XML。SGML是XML的前身,由于SGML难理解浏览器支持差等原因被放弃,XML和HTML都基于SGML。SGML的DTD作为标准被固定下来。

(4)什么是DTD?

DTD:文档类型定义(Document Type Definition)是一套关于标记符的语法规则。中文意思为“文档类定义”。

DTD肩负着两重任务:

一方面它帮助你编写合法的代码,另一方面它让浏览器正确地显示器代码。如果说你没有使用DTD,你将很难预测浏览器是怎样显示你的代码,仅仅在同一浏览器就有不同的显示效果。尽管你的网页做得非常飘亮,要是没有使用DTD,你的努力也是白费的。因此,一个DTD是必不可少的。

HTML与DTD:

1、DTD 是一套关于标记符的语法规则。它是XML1.0版规格得一部分,是html文件的验证机制,DTD属于html文件组成的一部分。

2、DTD:三种文档类型:S(Strict)、T(Transitional)、F(Frameset)。
①Strict:如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用
②Transitional:DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 HTML 的呈现特性时使用
③Frameset: DTD 应当被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于 Transitional DTD

HTML网页模版/DTD有三种类型

第一种:HTML 4.01 Strict DTD(严格的文档类定义)
Strict严格型:在这种XHTML中,结构中不能出现格式或表现的内容:格式标记:<font>、<b>、color属性、background属性
这种类型下,在<body>中只有结构标记,不能出现任何的表现的内容。
对于使用了这类DTD的文档,使用如下文档声明:
在这里插入图片描述

第二种:HTML 4.01 TransitionalDTD(过渡的文档类定义)
Transitional过渡型:在这种XHTML中,结构中可以出现格式标记或表现(CSS)的内容:(用的最多)
能包含已过时的元素和属性但不能包含框架元素。对于使用了这类DTD的文档,使用如下文档声明:
在这里插入图片描述

第三种:HTML 4.01 FramesetDTD(框架集文档类定义)
Frameset框架型:在这种XHTML中,可以使用框架技术,实现多个网页在一个浏览器窗口中呈现,

和不能同时使用,只能二选一 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191114165318127.png)
为什么需要DTD声明?

到目前为止,只是在说DTD作用,那如果不写会怎么样?在开发项目里到底起到了什么作用呢?这里需要引入两个新概念。

标准模式和怪异模式:
要想写出跨浏览器的CSS,必须知道浏览器解析CSS的两种模式:标准模式(strict mode)和怪异模式(quirks mode)。

1、标准模式是指浏览器按W3C标准解析执行代码;
2、怪异模式则是使用浏览器自己的方式解析执行代码,因为不同浏览器解析执行的方式不一样,所以我们称之为怪异模式。

浏览器解析时到底使用标准模式还是怪异模式,与你网页中的DTD声明直接相关,DTD声明定义了标准文档的类型(标准模式解析)文档类型,会使浏览器使用相应的方式加载网页并显示,忽略DTD声明,将使网页进入怪异模式(quirks mode)。

在这里插入图片描述

标准模式和怪异模式
声明DTD后的标准模式下,IE6不认识!important声明,IE7、IE8、Firefox、Chrome等浏览器认识;
而在未声明DTD的怪异模式中,IE6/7/8都不认识!important声明,这只是区别的一种,还有很多其它区别。

所以,要想写出跨浏览器CSS,最好采用标准模式,即声明DTD模式。

如何获取判定现在是标准模式还是怪异模式?

(1)原生JS法

在这里插入图片描述

2)jQuery法
jQuery.boxModel在绝大多数浏览器中返回true,在IE浏览器的怪癖模式中返回false

在这里插入图片描述

HTML5文档声明

到H5 时,文档声明语法为,该声明并不是HTML标记。它是向web浏览器发送关于写入页面的HTML版本的指令

【H4对比H5】:
1、在HTML 4.01中,< !DOCTYPE>声明引用DTD,因为HTML 4.01基于SGML。 DTD指定了标记语言的规则,以便浏览器正确地呈现内容。
2、 HTML5 不基于 SGML,所以就不需要对 DTD 引用,但需要 DOCTYPE来规范浏览器行为。

HTML5文档声明小结
1、在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGML。
2、DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。
3、HTML5 不基于 SGML,所以不需要引用 DTD,因此没有声明DTD。

XHTML

什么是 XHTML?

官方描述:可扩展超文本标记语言(英语:eXtensible HyperText Markup Language),是一种标记语言,表现方式与超文本标记语言(HTML)类似,不过语法上更加严格。

通俗理解:XHTML 是以 XML 格式编写的 HTML。

XML是可扩展标记语言,用于描绘封装数据,而HTML超文本标记语言用于展示数据,XHTML就是用XML规则规范的HTML,由于XML语法严格,因此,XHTML要求
在这里插入图片描述

XHTML对比HTML

书写习惯区别
1、HTML标签不区分大小写XHTML所有标签都必须小写
2、XHTML标签必须成双成对.
3、html对标签顺序要求不严格,XHTML标签顺序必须正确

总而言之xhtml比html更加规范。

ML置标语言

对比GML、SGML、HTML、XML、XHTML、HTML5
从这五者的名字中,我们都可以看到 “ML” 这两个字母,所以先从 ML说起。ML即 Markup language置标语言。根据维基百科的解释,Markup language是用标准的标记来解释纯文本文档的内容,从而提供关于文档结构或文档该如何渲染的信息。置标语言的发展可以用下图来表示:

在这里插入图片描述

对比GML、SGML、HTML、XML、XHTML、HTML5

1、GML 是第一代置标语言,使文档能明确将标示和内容分开,所以文件使用同样的标示方法。

2、SGML 在 GML 的基础上进行整理,形成了一套非常严谨的文件描述方法。它的组成包括语法定义,DTD,文件实例三部分。SGML 因太严谨规范达500多页,故而不易学、不易用、难以实现,所以在它的基础上又发展出了其他的更易用的置标语言。
3、HTML 是人们抽取了 SGML 的一个微小子集而提取出来的。其早期规范比较松散,但比较易学。

4、XML 也是 SGML 的一个子集,但使用比较严格的模式。

5、XHTML 的出现是因为HTML扩充性不好,内容的表现跟不上时代的变化(如无法表示某些化学符号等),以及因为性能的问题,官方逐渐趋于严格的模式,所以使用 XML 的严格规则的 XHTML 成了 W3C 计划中 HTML 的替代者。

6、HTML 经过一系列修订,到现在说的 HTML 一般指 HTML 4.01;而现在的 HTML 5 则是 HTML 的第五个修订版,其主要的目标是将互联网语义化,以便更好地被人类和机器阅读,并同时提供更好地支持各种媒体的嵌入。而HTML5本身并非技术,而是标准。
它所使用的技术早已很成熟,国内通常所说的html5实际上是html与css3及JavaScript和api等的一个组合,大概可以用以下公式说明:HTML5≈HTML+CSS3+JavaScript+API.

ajax简介

(1)什么是AJAX?

正如之前所说,Ajax 即Asynchronous Javascript And XML(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术(←本质)。

Ajax = 异步 JavaScript 和 XML或HTML (标准通用标记语言的子集)

工作实现原理:JavaScript和XML在AJAX中都是异步工作的,因此,任何使用AJAX的web应用程序都可以从服务器发送和检索数据,至此便无需重新加载整个网页的情况下,能够更新部分网页的技术。

起源:

AJAX概念实际上是从90年代中期开始出现的,然而,当谷歌在2004年开始在谷歌邮件和谷歌地图上引入这个概念,这种技术可以从服务器请求数据,而无需重新加载页面,这样会带来更好的客户体验。一时间,席卷全球。

命名:

AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML),前端开发里一般叫阿贾克斯。

最大特点:

页面不刷新

传统验证方式

传统方式用户名验证

在这里插入图片描述

传统验证方式缺点

(1)耗费流量:其他数据反复提交给服务器
(2)耗费时间较长:多次提交耗时
(3)用户体验差:仅仅因为用户名验证失败,导致整个页面重新记载,其他数据就又得重新填写。

AJAX方式用户名验证

在这里插入图片描述

AJAX验证方式优点

(1)节省流量:只传递需要验证的数据(用户名)
(2)节省操作时间,可以快速提示错误并进行修改
(3)用户体验好,页面不刷新

ajax是如何工作的?

首先要明确一点,AJAX是一种技术,不是一种编程语言。如前所述,AJAX是一组web开发技术,该系统一般包括:
1、HTML/XHTML为主要模板标签语言,CSS为表示形式。
2、用于动态显示数据及其交互的文档对象模型(DOM)。
3、用于数据交换的XML和用于操作的XSLT,许多开发人员已经开始用JSON替代,因为JSON在形式上更接近JavaScript。
4、用于异步通信的XMLHttpRequest—XHR对象
最后,JavaScript编程语言将所有这些技术结合在一起。

AJAX工作的一般过程非常简单,参考下面图表
在这里插入图片描述

小结:抛开定义不谈,使用AJAX的最大好处是它简化了用户体验。访问者不需要等待很长时间就可以访问内容。

AJAX工作的一般过程非常简单,参考下面图表
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值