热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

新手解读:认识XML,AJAX,SNS,Tag_html

什么是Ajax?Ajax的定义Ajax不是一个技术,它实际上是几种技术,每种技术都有其独特这处,合在一起就成了一个功能强大的新

什么是Ajax?

Ajax的定义

Ajax不是一个技术,它实际上是几种技术,每种技术都有其独特这处,合在一起就成了一个功能强大的新技术。Ajax包括:

Xhtml和css

使用文档对象模型(Document Object Model)作动态显示和交互

使用xml和XSLT做数据交互和操作

http://www.gaodaima.com/32940.html新手解读:认识XML,AJAX,SNS,Tag_html

使用XMLHttpRequest进行异步数据接收

使用Javascript将它们绑定在一起

传统的web应用模型工作起来就象这样:大部分界面上的用户动作触发一个连接到Web服务器的HTTP请求。

服务器完成一些处理—接收数据,处理计算,再访问其它的数据库系统,最后返回一个HTML页面到客户端。这是一个老套的模式,自采用超文本作为web使用以来,一直都这样用, 但看过《The Elements of User Experience》的读者一定知道,是什么限制了Web界面没有桌面软件那么好用。

新手解读:认识XML,AJAX,SNS,Tag_html
图1: 传统Web应用模型(左)与Ajax模型的比较(右).

这种旧的途径让我们认识到了许多技术,但它不会产生很好的用户体验。当服务器正在处理自己的事情的时候,用户在做什么?没错,等待。每一个动作,用户都要等待。

很明显,如果我们按桌面程序的思维设计Web应用,我们不愿意让用户总是等待。当界面加载后,为什么还要让用户每次再花一半的时间从服务取数据?实际上,为什么老是让用户看到程序去服务器取数据呢?

Ajax如何不同凡响

通过在用户和服务器之间引入一个Ajax引擎,可以消除Web的开始-停止-开始-停止这样的交互过程. 它就像增加了一层机制到程序中,使它响应更灵敏,而它的确做到了这一点。

不像加载一个页面一样,在会话的开始,浏览器加载了一个Ajax引擎—采用Javascript编写并且通常在一个隐藏frame中。这个引擎负责绘制用户界面以及与服务器端通讯。Ajax引擎允许用异步的方式实现用户与程序的交互–不用等待服务器的通讯。所以用户再不不用打开一个空白窗口,看到等待光标不断的转,等待服务器完成后再响应。

新手解读:认识XML,AJAX,SNS,Tag_html
图 2: 传统Web应用的同步交互过程(上)和Ajax应用的异步交互过程的比较(下).

通常要产生一个HTTP请求的用户动作现在通过Javascript调用Ajax引擎来代替. 任何用户动作的响应不再要求直接传到服务器—例如简单的数据校验,内存中的数据编辑,甚至一些页面导航—引擎自己就可以处理它. 如果引擎需要从服务器取数据来响应用户动作—假设它提交需要处理的数据,载入另外的界面代码,或者接收新的数据—引擎让这些工作异步进行,通常使用XML, 不用再担误用户界面的交互。

什么是XML?

XML是EXtensible Markup Language的缩写

XML是一种类似于HTML的标记语言

XML是用来描述数据的

XML的标记不是在XML中预定义的,你必须定义自己的标记

XML使用文档类型定义(DTD)或者模式(Schema)来描述数据

XML使用DTD或者Schema后就是自描述的语言

XML和HTML的主要区别是什么

XML是用来存放数据的

XML不是HTML的替代品,XML和HTML是两种不同用途的语言。

XML是被设计用来描述数据的,重点是:什么是数据,如何存放数据。

HTML是被设计用来显示数据的,重点是:显示数据以及如何显示数据更好上面。

HTML是与显示信息相关的, XML则是与描述信息相关的。

“XML”是用于网络上数据交换的语言,具有与描述Web页面的“HTML”语言相似的格式。该语言有“可以利用Web浏览器进行数据确认”以及“易于生成数据”等优点,因此主要用于在企业之间,或者在企业内部更加方便地进行数据交换和利用。首先为了便于理解,下面假设有这么一种情况:某图书销售商要着手建立自己的站点,并发送书店里的品种目录和库存情况等信息。

管理图书时,需要使用TABLE标签等,以一览表的形式提供 “书名”、“发行日期”、“库存”、“作者”、“出版社”和“定价”等数据。以这种形式汇总数据后,如果是人,就能够迅速地了解到各自所需的内容。但是,计算机(或系统)即使能够理解页面结构或数据布局,也无法理解这里的数据是什么意义(属性)。

然而,“XML”则正是能够让计算机也理解这些数据属性的技术。

如果使用XML,比如“库存目前有多少?”以及“某个作家写的书卖了多少册?”等数据就能够由计算机“自动地”掌握,并能够将这些数据与交易对象“共享”。这样一来,出版社就能够在制定今后的出版计划时参考这些数据,而且销售公司制定有效的配送计划时也将更加容易。这就必定大大有助于削减人事成本,以及提高管理效率。

当然,即便不使用XML,比如,如果能够建立一个规范的数据库,并为每个字段定义一个“书名”和“定价”等名称,计算机也能够理解。但是要想在Web上实现这一点,却要花费相当的人力和成本。在这一点上,如果是XML,由于“能够利用Web浏览器对数据进行确认“,因此只要拥有能够连接因特网的计算机和支持XML的浏览器,就不需再进行特别的投资。

使用XML,还能够将在以前的数据库中难以处理的数据转化成数据库。

XML的描述方式与HTML相同,利用被括号<>括起来的字符串进行描述。在HTML中,括号内所定义的都是版面(Layout)等信息。而XML则同时定义了数据的属性,比如刚才提到的图书,就是以<书名>、<作者>和<出版社>等方式定义。像这样的定义方式可以自由设置。因此,甚至有不少企业自己定义XML,然后将其用于本公司内部的数据交换。自由度如此之高也是XML受到极大关注的原因之一。

但是,企业之间的数据交换才是XML的着眼点之一。因此,各公司的定义如果不规范化就无法通用。目前,以微软为主的标准化团体“Biztalk.org”和民间团体“Rosetta Net”等都希望能针对各行业和领域制定“可以广泛利用的标志”,以减少定义XML的麻烦。

如果像上述所说的那样能够制定XML的标准,并被广泛应用,那么不止是企业之间的数据交换将变得更简单,而且语音数据和动态图像数据等在过去的数据库中难以进行处理的数据也必将能够轻松转化成数据库。这一点在管理方面也可以说是一个巨大的可取之处。

什么是SNS?

SNS是一个采用分布式技术,通俗地说是采用P2P技术,构建的下一代基于个人的网络基础软件。

SNS通过分布式软件编程,将现在分散在每个人的设备上的CPU、硬盘、带宽进行统筹安排,并赋予这些相对服务器来说很渺小的设备更强大的能力。这些能力包括:计算速度,通信速度,存储空间。

SNS的技术起源:在互联网中,PC机、智能手机都没有强大的计算及带宽资源,它们依赖网站服务器,才能浏览发布信息。如果将每个设备的计算及带宽资源进行重新分配与共享,这些设备就有可能具备比那些服务器更为强大的能力。这就是分布计算理论诞生的根源,是SNS技术诞生的理论基础。

SNS的商业空间:当普通人通过安装SNS软件都可以拥有媲美网站服务器的计算及通信资源时,那些投资了大量服务器的互联网公司将怎么办呢?他们的优势在什么地方?会不会有更多的新型的互联网公司出现,而且他们的后台他们的前端有没有可能完全不是现在的GOOGLE、EBAY、新浪模式呢?甚至包括盛大网络游戏这样的运营商,他们引为骄傲的强大的3万台服务器集群,是不是他们的核心竞争力呢?当一个漫画作者家里的那台机器,就可以让他通过SNS视频器播放他的作品,他还需要去管理一个网站吗?或许一个家庭主妇不需要懂得HTML编程,不需要懂得网站这个词汇,只通过SNS菜谱发布程序及一台厨房里的PC就能让千百万人掌握她的手艺,而且她在厨房的灶台上的一招一式都清晰可见。这个时候,您会想到什么?

现在的互联网中,作为客户端的我们就像个蠢蛋,只能通过服务器才能干些奴隶般的事情,看别人的网站,玩别人的游戏,发发邮件,除此之外,我们没有自由。现在是开始革命的时候了!革命中心任务就是:如何让10多亿台电脑发挥他们自己的作用,让用户去创造和控制自己的信息。中间不需要公司的服务器来摆布我们。

1、什么是Tag?

Tag(标签)是一种更为灵活、有趣的分类方式,您可以为每篇日志、每个帖子或者每张图片等添加一个或多个Tag(标签),你可以看到网站上所有和您使用了相同Tag的内容,由此和他人产生更多的联系。Tag体现了群体的力量,使得内容之间的相关性和用户之间的交互性大大增强。

比如,你在一篇日志上添加了“读书”和“Tag”两个标签,就能通过这两个tag看到和你有相同兴趣的其他日志。同样,如果你给自己的网络书签贴上不同标签,那么,在下一次去寻找时,会轻易找到自己想要的信息。

那么,如果我贴了Tag,能产生什么效果呢?首先,信息将会条理化。其次,当你积累了一定数量的Tag之后,你会发现自己最关心的话题。GOOGLE的”我的搜索历史”功能就是采用了标签,你的每次搜索关键词都可以成为tag,之后,你会了解自己这一天在关心什么。

当然,你也可以看到有哪些人和自己使用了一样的Tag(标签),进而找到和您志趣相投的人。

2、Tag究竟有哪些不同?

Tag不是关键词,因为,一个机器就没有办法提取一张照片的关键字,但人可以给它设定一个或多个Tag。而Tag真正不同的地方在于,你可以随意用任何词来标记一件事物,只要方便你找到它。因此,这一标志是活跃的、无序的、个人化、相当自我的一种标记方式。

当我可以为我自己的言论作出自己想要的标志,而不是别人给予我的分类,那么,我将说些什么呢?我又会通过这种标志找到什么样的人什么样的文章、图片呢?Tag创造了一个新的无序但充满生机的网络联合体,通过这个联合,人们找到和自己最接近的内容。

3、如何使用Tag?

现在很多网站都使用了Tag模式,只要使用者自身打开了界限,随心所欲地给自己注释标签,不被旧有思维局限住,就对了。简单地说,Tag是一种随心所欲的标签,当我读一篇文章或者看一张图片的时候想什么就写什么,不受原有分类的束缚,怎么想就怎么使用。

欢迎大家阅读《新手解读:认识XML,AJAX,SNS,Tag_html》,跪求各位点评,若觉得好的话请收藏本文,by



推荐阅读
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 运算放大器使用规则及注意事项
    本文介绍了运算放大器的使用规则和注意事项,包括输入电压的限制、输出直接并接电容的安全性等。通过了解这些规则和注意事项,可以更好地使用运算放大器,避免出现意外情况。 ... [详细]
  • 网络请求模块选择——axios框架的基本使用和封装
    本文介绍了选择网络请求模块axios的原因,以及axios框架的基本使用和封装方法。包括发送并发请求的演示,全局配置的设置,创建axios实例的方法,拦截器的使用,以及如何封装和请求响应劫持等内容。 ... [详细]
author-avatar
手机用户2502863361
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有