第十九天 Http协议的学习

昨天servlet生命周期中,将用户的请求根据http协议打包发送给tomcat服务器,今天研究一下http协议是什么技术。

1.Http协议是什么?

它是超文本传输控制协议,定义了浏览器之间数据传输的方式和格式。

html是超文本标记语言,xml是可扩展标识语言

1.1数据传输的方式:

浏览器请求建立链接,ip:port方式;

浏览器向服务器发送请求,其中包含url-pattern

服务器处理请求

服务器发送响应数据给浏览器,然后关闭链接;

如果浏览器想向服务器再次发送请求,需要再次重新的请求建立连接

1.2浏览器数据传输的格式:

a:请求数据包中包含:

请求行:请求方式get/post以及请求资源的路径

若干消息头:通讯预定,包含浏览器的版本

实体内容:post请求方式的数据保存在实体内容中,如果是get方式,请求的数据会放到请求资源的路径之后。

b:响应数据包:

状态行:协议版本和状态的描述200正常,404表示找不到资源,500表示系统内部错误

若干消息头:比如服务器可以向浏览器发送cookie

实体内容:服务器处理完之后的结果,一般要求浏览器要显示的内容和数据

1.3get/post请求方式:

get方式:表单默认提交的方式,直接在地址栏显示请求数据,请求数据会放到请求资源的路径后面。

可以通过链接访问某个地址

get方式的特点:在地址栏会显示请求数据,请求数据放在请求路径后面

get方式一般用于想服务器获取资源,浏览器可能会缓存get方式访问过的数据。

pos方式:表单的提交方式,method设置为post方式,数据不会在地址栏显示,数据会放在实体内容里面

post方式一般用于向服务器提交数据

优缺点: get提交的数据量有限制,不安全,地址栏都可以看到的。

post数据量大因为存放在实体类里面,相对安全,但是实体内容里面的数据任然没有加密,可以借助工具看到。

1.4重定向:

服务器向浏览器发送一个状态码302以及一个消息头location,浏览器会立刻向location所指定的地址发送一个新的请求;

用response.sendRedirect(url)表示

重定向的地址是任意的,浏览器的地址栏会变为重定向后的地址

在重定向之前,不能有任何的输出,如果缓存当中有数据,重定向之前,会先请空缓存的数据。


2.服务器端如何处理浏览器url-pattern的请求地址?

先根据ip,port链接服务器,然后找应用名,找不到返回404状态码,再找请求名。

找到请求名之后根据web.xml映射文件找到对应的url-pattern。

根据请求名与xml映射的时候,进行的匹配方式:

精确匹配要求完全匹配,模糊匹配可以使用通配符*,*可以表示与任意强求都匹配

后缀匹配,表示*.do,只要后缀是“xxxx.do"的都可以,但是url-patttern中不能出现“/”符号。<..>*.do<..>这种形式就可以!

多个url-pattern可以指向同一个Servlet,也就是不同的请求可以获取同一数据



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值