zoukankan      html  css  js  c++  java
  • JAVA EE 第二周(XML简述以及web请求的过程)

    一、 对于XML,我分别从以下几个方面来简述:

      1、定义:

      XML是一种可扩展的标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。

      (可扩展标记语言:可扩展标记语言是一种很像超文本标记语言的标记语言;它的设计宗旨是传输数据,而不是显示数据;它的标签没有被预定义。您需要自行定义标签;它被设计为具有自我描述性;它是W3C的推荐标准。)

      2、特点:

      2.1  简洁有效。
      XML是一个精简的SGML,它将SGML的丰富功能与HTML的易用性结合到Web应用种,它保留了SGML的可扩展功能,这使得XML从根本上有区别于HTML。并且XML种还包括可扩展格式语言XSL(Extensible Style Language)和可扩展链接语言XLL(Extensible     Linking Language)使得XML的显示和解析更加方便快捷。
      2.2  易学易用。
      XML对SGML进行了精简,它抛弃了SGML中不常用的部分,方便用户编写Web页面同时也给设计人员实现XML浏览器降低了困难。
      2.3  开放的国际化标准。
      XML是W3C正式批准的,它完全可用于Web和工具的开发。XML具有标准的名域说明方法,支持文档对象模型标准、可扩展类型语言标准、可扩展链接语言标准和XML指针语言标准。使用XML可以在不同的计算机系统间交换信息,而且还可以跨越国界和超越不同文  化疆界交换信息。
      2.4  高效可扩充。
      XML支持复用文档片断,使用者可以发明和使用自己的标签,也可以与他人共享,可延伸性大。在XML中,可定义一组无限量的标准,可以有效地进行XML文件的扩充。

      3、用途:

      3.1 数据交换 

      用XML在应用程序和公司之间作数据交换已不是什么秘密了,毫无疑问应被列为第一位。 那么为什么XML在这个领域里的地位这么重要呢?原因就是XML使用元素和属性来描述数 据。在数据传送过程中,XML始终保留了诸如父/子关系这样的数据结  构。几个应用程序 可以共享和解析同一个XML文件,不必使用传统的字符串解析或拆解过程。 相反,普通文件不对每个数据段做描述(除了在头文件中),也不保留数据关系结构。使用XML做数据交换可以使应用程序更具有弹性,因为可以用位置(与  普通文件一样)或用元 素名(从数据库)来存取XML数据。

      3.2 Web服务

      Web服务是最令人激动的革命之一,它让使用不同系统和不同编程语言的人们能够相互交 流和分享数据。其基础在于Web服务器用XML在系统之间交换数据。交换数据通常用XML标 记,能使协议取得规范一致,比如在简单对象处理协  议(     Simple Object Access Protoc ol, SOAP)平台上。 SOAP可以在用不同编程语言构造的对象之间传递消息。这意味着一个C#对象能够与一个 Java对象进行通讯。这种通讯甚至可以发生在运行于不同操作系统上的  对象之间。DCOM , CORBA或      Java RMI只能在紧密耦合的对象之间传递消息,SOAP则可在松耦合对象之间传 递消息。 

      3.3 内容管理

      XML只用元素和属性来描述数据,而不提供数据的显示方法。这样,XML就提供了一个优 秀的方法来标记独立于平台和语言的内容。 使用象XSLT这样的语言能够轻易地将XML文件转换成各种格式文件,比如HTML, WML, PD 
      F, flat file, EDI, 等等。XML具有的能够运行于不同系统平台之间和转换成不同格式 目标文件的能力使得它成为内容管理应用系统中的优秀选择。

      3.4 Web集成 

      现在有越来越多的设备也支持XML了。使得Web开发商可以在个人电子助理和浏览器之间 用XML来传递数据。 为什么将XML文本直接送进这样的设备去呢?这样作的目的是让用户更多地自己掌握数据 显示方式,更能体验到实践的快乐。常规的客户/  服务(C/S)方式为了获得数据排序或更 换显示格式,必须向服务器发出申请;而XML则可以直接处理数据,不必经过向服务器申 请查询-返回结果这样的双向“旅程”,同时在设备也不需要配制数据库。 甚至还可以对设备上的XML文件进行修改并将结果  返回给服务器。想像一下,一台具有互 联网功能并支持XML的电冰箱将会给市场带来多么大的冲击吧。你从此不必早起去取牛奶 了!

      3.5 配置

      许多应用都将配制数据存储在各种文件里,比如.INI文件。虽然这样的文件格式已经使 用多年并一直很好用,但是XML还是以更为优秀的方式为应用程序标记配制数据。使用. NET里的类,如XmlDocument和XmlTextReader,将配制数据标记为XML格  式,能使其更具 可读性,并能方便地集成到应用系统中去。使用XML配制文件的应用程序能够方便地处理 所需数据,不用象其他应用那样要经过重新编译才能修改和维护应用系统。 如前所述,这里提到的五种使用XML的途径不包括全部场合。

      3.6 XML 用于创建新的 Internet 语言

      很多新的 Internet 语言是通过 XML 创建的:

      其中的例子包括:

    • XHTML - 最新的 HTML 版本
    • WSDL - 用于描述可用的 web service
    • WAP 和 WML - 用于手持设备的标记语言
    • RSS - 用于 RSS feed 的语言
    • RDF 和 OWL - 用于描述资源和本体
    • SMIL - 用于描述针针对 web 的多媒体

     

    二、Web请求过程

      1.准备DHCP,UDP,IP和以太网

      客户端要访问www.google.com的网站。首先客户端要与网络相接,没有IP地址地址就不能做什么事情,所以客户端采取的一个网络相关的动作就是运行DHCP协议,以及本机的DHCP服务器获得一个IP地址/
      1.1 操作系统生成一个DHCP请求报文,并将这个报文放到UDP报文段中,该UDP报文段则被放置在一个具有广播IP目的地地址(255.255.255.255)和源IP地址0.0.0.0的IP数据报中,因为客户端还不具有IP地址
      1.2 包含DHCP请求报文的IP数据报则被放置到以太网帧中,该以太网帧具有目的MAC地址FF:FF:FF:FF:FF:FF,使该帧广播到与交换机连接的所有设备中(顺利的话也包括DHCP服务器)
      1.3 客户端通过dhcp服务器获取一个IP地址

      2.准备DNS和ARP

      当在浏览器 页面输入www.google.com的时,他开启了一个长串事件,web浏览器通过生成一个TCP套接字开始了该过程,套接字用于向web浏览器发送HTTP请求,为了生成套接字,客户端需要知道www.google.com的IP地址。这需要DNS服务
      2.1 客户端的操作系统生成一个DNS查询报文,开始了一个DNS查询请求。将字符串www.google.com放入DNS报文中,客户端将包含DNS请求报文的的数据报放入一个以太网帧中,该帧将发送(在链路层)到网络的网关路由器。为了获取该网关路由器的MAC地址,需要是要  ARP协议。
      2.2 客户端便开始生成了一个具有目的IP地址的ARP查询报文,将该ARP报文放置在一个以太网帧中,交换机将该帧交付给所有链接的设备,包括网管路由器
      2.3 网关路由器收到请求以后 ,会准备一个ARP回答,再有交换机交付给客户端
      2.4 现在客户端能够使用包含DNS查询的以太网帧寻址到网管路由器的MAC地址,客户端向交换机发送该帧,交换机在将该帧交付给网管路由器。

      3.域内路由选择DNS服务器

      3.1网关路由器收到并抽取包含DNS查询的IP的数据包,路由器查询该数据报的目的地址将包含DNS查询的IP数据包到达了DNS服务器。DNS服务器抽取到 DNS查询报文,在他的DNS数据库中查找名字www.google.com,找到包含对应www.google.com的IP地址。该DNS服务器形  成一个包含这种主机名到IP地址映射的DNS回答报文,并将DNS回答报文放入UDP的报文段,该报文段警网络交付到客户端,最后从DNS报文中抽取着出www.google.com的IP地址。

      4.客户于服务器的交互。TCP和HTTP

      客户端有了www.google.com的IP地址,他能够生成TCP套接字,该套接字用于项www.google.com发送HTTP GET报文。经过TCP三次握手建立了一个连接。www.google.com的HTTP服务器从TCP套接字读取HTTP GET报文,生成一个HTTP响应报文,将请求的web页面内容放入HTTP  响应报文中,并将报文发送进TCP套接字。
      包含HTTP回到报文的数据报通过网络转发,到达客户端,客户端从套接字中读取HTTP响应,从HTTP响应体中抽取web页面的html,并最终显示web页面。

  • 相关阅读:
    Longest Palindromic Substring
    PayPal MLSE job description
    Continuous Median
    Remove Duplicates From Linked List
    Valid IP Address
    Longest substring without duplication
    Largest range
    Subarray sort
    Multi String Search
    Suffix Trie Construction
  • 原文地址:https://www.cnblogs.com/CyJack/p/8649245.html
Copyright © 2011-2022 走看看