欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

关于http协议的深入学习

程序员文章站 2023-11-02 12:16:34
1、http协议:(要求不高需要了解) (1)什么是http协议 是由w3c制定的一种网络应用层协议,规定了与web 服务之间如何通信以及相应的数据包格式 1)如何通信: 1、建立连接 2、发送请求...

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来访问数据库