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称之为请求方式,请求方式有:
POST、GET、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 响应的时间