1 http协议
(1)什么是http协议?
是一种网络应用层协议,规定了浏览器与web服务器之间如何通信以及
通信所使用的数据格式。
1)如何通信
step1. 建立连接
step2. 打包,发送请求
step3. 打包,发送响应
step4. 关闭连接
即一次请求,一次连接。
如果要再发送请求,需要再次建立新的连接。
优点:web服务器可以利用有限的连接为尽可能多的客户请求服务。
2)数据格式
a.请求数据包
a1. 请求行 (请求类型 请求资源路径 协议类型和版本)
a2. 若干消息头
注:消息头是一些健值对,由http协议规定,通信的双方
可以使用消息头来传递一些特定的信息。比如浏览器可以
通过发送"user-agent"消息头,告诉服务器,浏览器的类
型和版本。
a3. 实体内容
如果发送的是get请求,实体内容为空。
如果发送的是post请求,实体内容不为空(里面是
请求参数)
b.响应数据包
b1.状态行 (协议类型和版本 状态码 状态描述)
b2.消息头
服务器也可以发送一些消息头给浏览器,比如发送
"content-type"消息头,告诉浏览器,服务器返回
的数据类型和编码。
b3.实体内容
存放程序处理的结果
(2)两种请求类型
1)浏览器哪一些情况下,会发送get请求?
a.直接输入某个地址
b.点击链接
c.表单默认的提交方式
2)get请求的特点
a.会将请求参数添加到请求资源路径的后面(即请求行里面
请求行只能存放大约2k左右的数据),只能提交少量的数据。
b.会将请求参数显示在浏览器地址栏,不安全(比如,路由
器会记录包含有请求参数的地址)。
3)浏览器哪一些情况下,会发送post请求?
a.设置表单的method属性值为post。
4)post请求的特点
a.会将请求参数添加到实体内容里面,可以提交大量的数据。
b.不会将请求参数显示在浏览器地址栏,相对安全(注意,
不会加密,对于敏感数据需要加密处理)。
2. Servlet输出中文,如何处理乱码问题?
(1)为什么会有乱码?
out.println方法在输出时,默认使用"iso-8859-1"来编码。
(2)如何解决?