频道栏目
首页 > 资讯 > 网络协议 > 正文

关于http协议的深入学习

18-07-11        来源:[db:作者]  
收藏   我要投稿

1、http协议:(要求不高需要了解)

(1)什么是HTTP协议

是由w3c制定的一种网络应用层协议,规定了浏览器与web

服务之间如何通信以及相应的数据包格式

1)如何通信:

1、建立连接

2、发送请求

3、发送响应

4、关闭链接

2)特点

一次请求,一次链接 (有点:高效)

即如果浏览器需要发送cinder请求,就需要建立新的链接

这样设计,有点事,服务器可以利用有限的链接尽可能多的

请求服务

(2)数据包的结构

1、请求数据包

请求行(请求方式 请求资源路径 协议类型和版本)

消息头

是一些键值对(使用:隔开)表示特定的含义,

比如,浏览器可以发送“user-agent”消息,

告诉服务器,浏览器的类型和版本。

实体内容

只有当请求方式为post时,实体类人内容里面才会有数

据(请求参数)

2、响应数据包

状态行(状态类型和版本 状态码 转台描述)

消息头

服务器也可以发送一些消息给浏览器,比如,发送

“Content-type”消息头,告诉浏览器,服务器返回

的数据类型。

实体内容

程序的处理结果,浏览器回揭西其中的额数据,生成

相应的页面

(3)两种请求方式

1)get 请求

a、那些情况下,浏览器会发送get请求

a1直接输入某个地址

a2点击链接

a3表单默认提交方式

b、特点

b1.会将请求参数添加到请求资源路径的后面只能

提交少量的数据

b2.会将请求参数显示到浏览器的地址栏,不安全

注:比如路由器会记录包含了请求参数的请求

地址

2)post请求

a。那些情况下浏览器会发送post请求

设置表单method=“post”

b.特点

1、会将请求参数添加到实体内容里面,可以提交

大量的数据

2、不会讲请求参数显示在浏览器地址栏,相对安

注:不会将请求参数加密

2、servlet输出中文

1)为什么会出现乱码

out.println方法在默认的情况下,会使用iso-8859-1来编码

2)如何解决

response.setContentType("text/html;charset=utf-8");

3、表单包含会有中文参数值

1、为什么会有乱码

表单提交时,浏览器会对表单中的中文参数进行编码

注:

会按照打开表单所在的页面时的字符集来编码

服务器端默认情况下,还使用“iso-8859-1”来编码

2、如何解决

1、在静态页面加 保证变淡提交时按照指定的字符集来编码

 

注:只针对post请求有效(推荐使用此方法)

方法2.

name=new String

(name.getBytes("iso-8859-1"),"utf-8");

注:先还原得到浏览器发送过来的字节数组,

然后使用正确的字符集来解码。

4、怎么读取请求参数值

1、String request.Parameter(String paramName)

注:

a,paramName必须与实际发送过来的参数名一致,

如果不一致,会获得nul

b,有可能获得空字符串

2、Sting[] request.getParameterValues(String paramName)

注:

a,当有多个参数相同时 使用该方法

/hello?mp=1&mp=2&mp=3

b,对于多选和单选框,如果不选择任何选项的话会获得null

5、怎么用JDBC访问数据库

1、需要将JDBC提供的jar文件拷贝到WEB-INF/lib下

2、使用jdbc提供的一套opi来访问数据库

相关TAG标签
上一篇:前端实现网页自动跳转的三种方法介绍
下一篇:上传文件限制导致413-Request Entity Too Large 问题的原因和解决办法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站