关于http协议的深入学习
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来访问数据库
上一篇: PHP下通过file_get_contents的代理使用方法
下一篇: 利用百度经验做好网络推广