Servlet(二)Http协议以及两种请求类型

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)如何解决?




猜你喜欢

转载自blog.csdn.net/qq_41264674/article/details/80421481