加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

WebService学习笔记-XML&Schema&HTTP

发布时间:2020-12-16 23:20:06 所属栏目:安全 来源:网络整理
导读:XML约束 在XML技术里,可以编写一个文档(文件)来约束一个XML文档的书写规范,这称之为XML约束 1. namespace 相当于schema文件的id 2. targetNamespace属性 用来指定schema文件的namespace的值? 3. xmlns属性 引入一个约束,它的值是一个schema文件的namespace

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 响应的时间

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读