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

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

ajax简介

ajax 的全称是Asynchronous JavaScript and XML,其中,Asynchronous 是异步的意思,它有别于传统web开发中采用的同步的方式。

AJAX代表异步JavaScript和XML,它是一组web开发技术,允许web应用程序异步工作,在后台处理对服务器的任何请求等等,

JavaScript是一种流行的编码语言,在其功能中,JavaScript管理网站的动态内容并允许用户进行交互。(XML是HTML等标记语言的另一种变体),其名称为可扩展标记语言。如果HTML是用来显示数据的,那么XML就是用来包含和携带数据的。
JavaScript和XML在AJAX中都是异步工作的,因此,任何使用AJAX的web应用程序都可以从服务器发送和检索数据,而不需要重新加载整个页面。

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是用来描述、存储和交换数据的,不包含任何的显示格式的信息,因此它与数据库功能类似.

SGML简介

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

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

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
(5)HTML网页模版/DTD有三种类型
第一种:HTML 4.01 Strict DTD(严格的文档类定义)
Strict严格型:在这种XHTML中,结构中不能出现格式或表现的内容:格式标记:、、color属性、background属性
这种类型下,在中只有结构标记,不能出现任何的表现的内容。
对于使用了这类DTD的文档,使用如下文档声明:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"   "http://www.w3.org/TR/html4/strict.dtd"> 

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

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

和不能同时使用,只能二选一
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
DTD与标准怪异模式

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

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

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

在这里插入图片描述
如果网页代码不含有任何声明,那么浏览器就会采用怪异模式解析

在这里插入图片描述
如果网页代码含有DTD声明,浏览器就会按所声明的标准解析
上述代码,浏览器会按HTML 4.01的标准进行解析

标准模式VS怪异模式

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

所以,要想写出跨浏览器CSS,最好采用标准模式,即声明DTD模式。
(1)原生JS法
在这里插入图片描述
(2)jQuery法
jQuery.boxModel在绝大多数浏览器中返回true,在IE浏览器的怪癖模式中返回false
在这里插入图片描述

H5文档声明

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。

XHTM

什么是 XHTML?
官方描述:可扩展超文本标记语言(英语:eXtensible HyperText Markup Language),是一种标记语言,表现方式与超文本标记语言(HTML)类似,不过语法上更加严格。
通俗理解:XHTML 是以 XML 格式编写的 HTML。

【背景】:
HTML是一种基本的WEB网页设计语言,XHTML是一个基于可扩展标记语言的标记语言,看起来与HTML有些相象,只有一些小的但重要的区别,XHTML就是一个扮演着类似HTML的角色的可扩展标记语言(XML),所以,本质上说,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简介

正如之前所说,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),前端开发里一般叫阿贾克斯。
最大特点:页面不刷新

百度关键词特效
例如百度搜索的自动填充功能,它可以帮助您在键入关键词时自动补充这些关键词。关键词实时变化,但页面保持不变。
在90年代早期,互联网还没有那么发达,同样的功能要求百度每次在屏幕上弹出一个新建议时都要重新加载页面。AJAX允许数据交换和表示层同时工作,而不影响彼此的功能。
在这里插入图片描述
输入关键字后,ajax会把当前输入的内容传给baidu服务器做请求,然后服务器查询相关数据并返回

随着输入关键词的不同,底下会从服务器拉取不同数据(在不刷新页面的前提下)

www.163.com网易的邮箱注册
在这里插入图片描述
邮件地址、用户名等必须到服务器数据可以才可以查询对比出结果

ajax在输入框失去焦点时,会把用户名传递给服务器,做查询对比。之后把查询的结果在页面上展示出来。

投票及评级制度
在网上购买的产品打分或者填写过网上投票表格的都知道,无论哪种方式,这两种操作都使用AJAX。
一旦点击评级或投票按钮,网站将更新计算结果,但整个页面保持不变。
在这里插入图片描述
聊天室
有些网站在主页上安装了一个内置的聊天室,你可以和他们的客服人员聊天。如果想同时浏览该页面,则无需担心,AJAX不会在每次发送和接收新消息时重新加载页面。
在这里插入图片描述
微博趋势的通知
微博使用AJAX进行更新,每次有关于某些热门话题的新推文发布,微博都会在不影响主页的情况下更新新数据。
在这里插入图片描述

传统验证方式

传统方式用户名验证在这里插入图片描述
验证失败后返回失败信息,重新加载页面。之前填写的数据需要重新填写

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

AJAX验证方式

AJAX方式用户名验证
在这里插入图片描述
AJAX验证方式优点
(1)节省流量:只传递需要验证的数据(用户名)
(2)节省操作时间,可以快速提示错误并进行修改
(3)用户体验好,页面不刷新

分析:ajax语言载体和核心技术是javascript;XML主要用于保存和传输数据,就是可与服务器进行异步或者同步交互一门技术,很大程度上改变了WEB开发的格局,在常见的社交网站、地图等均应用了ajax技术。
不是某种编程语言,是一种在无需重新加载整个网页的情况下能够更新部分页面内容的技术。

ajax工作方式

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

AJAX工作的一般过程非常简单,参考下面图表
在这里插入图片描述
小结:抛开定义不谈,使用AJAX的最大好处是它简化了用户体验。访问者不需要等待很长时间就可以访问内容。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值