WebService学习笔记-XML&Schema&HTTP

XML约束

在XML技术里,可以编写一个文档(文件)来约束一个XML文档的书写规范,这称之为XML约束


1.namespace

相当于schema文件的id

2.targetNamespace属性

用来指定schema文件的namespace的值 

3.xmlns属性

引入一个约束, 它的值是一个schema文件的namespace值 

4.schemaLocation属性

用来指定引入的schema文件的位置


schema规范中:

1. 所有标签和属性都需要有schema文件来定义 

2. 所有的schema文件都需要有一个id, 但在这里它叫namespace, 

3. namespace的值由什么来指定?

由targetNamespace属性来指定, 它的值是一个url(很有可能不存在)

4. 如何引入一个Schema约束?

属性? : 用xmlns属性

属性值: 对应的schema文件的id(namespace值)

5. 如果引入的schema不是w3c组织定义, 必须指定schema文件的位置

6. schema文件的位置由什么属性来指定?

属性? : schemaLocation

属性值: namespace path

7. 如果引入了N个约束, 需要给n-1个取别名


book.xsd

<?xml version="1.0" encoding="UTF-8" ?> 
<schema xmlns="http://www.w3.org/2001/XMLSchema"
  			targetNamespace="http://www.atguigu.cn"
  			elementFormDefault="qualified">
  			<!--如果为unqualified则只检查根节点-->
  			<!--
  			ltargetNamespace用于指定schema文档中声明的元素关联到哪个名称空间。
  			lelementFormDefault用于指定,是否将所有声明的元素和属性都关联到指定的命名空间,qualified代表是,unqualified代表只关联根元素.
  			-->
    <element name="书架">
        <complexType>
            <sequence maxOccurs="unbounded">
                <element name="书">
                    <complexType>
                        <sequence>
                            <element name="书名" type="string" />
                            <element name="作者" type="string" />
                            <element name="售价" type="string" />
                        </sequence>
                    </complexType>
                </element>
            </sequence>
        </complexType>
    </element>
</schema>

book.xml

<?xml version="1.0" encoding="UTF-8"?>

<书架 xmlns="http://www.atguigu.cn"
	  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	  xsi:schemaLocation="http://www.atguigu.cn book.xsd">
	  <!--
  	名称空间的名字语法容易让人混淆,尽管以 http:// 开始,那个 URL 并不指向一个包含模式定义的文件。事实上,这个 URL:http://www.atguigu.com根本没有指向任何文件,只是一个分配的名字.为了在一个XML文档中声明它所遵循的Schema文件的具体位置,通常需要在Xml文档中的根结点中使用schemaLocation属性来指定.schemaLocation此属性有两个值。第一个值是需要使用的命名空间。第二个值是供命名空间使用的XMLschema 的位置,两者之间用空格分隔。
  			-->
	<书>
		<书名>JavaScript开发</书名>
		<作者>老佟</作者>
		<售价>28.00元</售价>
	</书>
</书架>




请求行中的GET称之为请求方式,请求方式有:

POSTGET、HEAD、OPTIONS、DELETE、TRACE、PUT

常用的有: GET、 POST

用户如没有设置,默认情况下浏览器向服务器发送的都是get请求,例如在浏览器直接输地址访问,点超链接访问等都是get,用户如想把请求方式改为post,可通过更改表单的提交方式实现。

不管POST或GET,都用于向服务器请求某个WEB资源,这两种方式的区别主要表现在数据传递上:

如请求方式为GET方式,则可以在请求的URL地址后以?的形式带上交给服务器的数据,多个数据之间以&进行分隔,例如:

GET /mail/1.html?name=abc&password=xyz HTTP/1.1

GET方式的特点:在URL地址后附带的参数是有限制的,其数据容量通常不能超过1K。

如请求方式为POST方式,则可以在请求的实体内容中向服务器发送数据,Post方式的特点:传送的数据量无限制。


GET 参数显示在地址栏,servlet中调用doGet来处理请求,大小有限制,不安全,会缓存。没有请求体。

POST参数不显示在地址栏,servlet中调用doPost来处理请求,大小没有限制,安全。



常用请求头(浏览器发送给服务器的数据,为了告诉服务器一些情况)

Accept: text/html,image/*    我支持的数据类型

Accept-Charset: utf-8  支持的数据的编码字符集

Accept-Encoding: gzip 支持的压缩方式

Accept-Language: en-us,zh-cn 支持的语言

Host: localhost:8888 请求的主机名

Referer: http://www.atguigu.com/index.jsp 发送请求的界面对应的url 防盗链

User-Agent: Mozilla/4.0 浏览器的相关信息

Connection: keep-Alive   请求完成后,到是断开呢还是连接着

Date: Tue, 11 Jul 2000 18:23:51 GMT 发送请求的时间

Cookie: tt=123     //后面专门讲

响应头(浏览器发送给服务器的数据,为了告诉服务器一些情况):

Location: /day05/index.jsp  告诉浏览器重新定向到指定的路径

Server:apache tomcat 使用的什么web服务器

Content-Encoding: gzip  告诉浏览器我传给你的数据用的压缩方式

Content-Length: 80 响应体的字节数

Content-Language: zh-cn 响应体数据的语言

content-type: text/html; charset=GB2312 响应体内容的类型 html/ css / image

Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT 资源最后被修改的时间

Refresh: 1定时刷新

Content-Disposition: attachment; filename=aaa.zip 提示用户下载

Set-Cookie:SS=Q0=5Lb_nQ; path=/search 将cookie数据回送给ie

Expires: -1  告诉浏览器不要缓存起来 

Cache-Control: no-cache  

Pragma: no-cache   

Connection: close/Keep-Alive   是否保持连接

Date: Tue, 11 Jul 2000 18:23:51 GMT 响应的时间


你可能感兴趣的:(xml,webservice)