您的位置:首页 > 理论基础 > 计算机网络

WebService学习笔记-XML&Schema&HTTP

2016-02-04 11:03 549 查看
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 响应的时间

本文出自 “优赛工作室” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/1562007
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: