首页 > 代码库 > Servlet(二)

Servlet(二)

 HTTP协议以及Servlet如何处理HTTP协议

1.什么是HTTP协议

  • 就是由w3c制定的一种应用层协议,定义浏览器和服务器如何通信及数据格式。

2.如何通信

  • 建立连接
  • 打包,发送请求
  • 打包,发送响应
  • 关闭连接
    一次请求一次连接,Web服务器可以利用有限的连接为尽可能多的客户端服务。

3.数据格式

1)请求数据(浏览器向服务器发送的数据)

  • 请求行:请求的基本信息
  • 消息头:请求数据的描述信息
  • 实体内容:请求的业务数据(只有当请求方式为post时,实体内容才会有数据,即请求参数)

2)响应数据(服务器向浏览器发送的数据)

  • 状态行:响应的基本信息
  • 消息头:响应数据的描述信息
  • 实体内容:程序处理的结果

4.Servlet处理HTTP协议

当Web容器收到一个HTTP请求时,通信数据由Web容器负责封装和提供,这些信息被解释为两个对象:

1.与请求数据相对应的HttpServletRequest类型的对象

当客户端通过HTTP协议访问服务器时,请求的所有消息都封装在这个对象中,通过这个对象的相关方法可以获取请求的数据。

  • 取得和设置Cookies
  • 取得路径信息
  • 标识Http会话
  • 实现请求转发

2.与响应数据相对应的HttpServletRequest类型的对象

代表提供给客户端的响应,封装了HTTP的响应数据。通过这个对象也可以进行一些设置

  • 设置响应的状态码
  • 设置浏览器的解码方式
  • 设置Cookies
  • 实现重定向

5.GET和POST方式的区别

1)GET

  • 采用路径传参,参数在传递过程中可见(地址栏)
  • 隐私性差
  • 传参能力有限,只能传少量参数
  • 所有的请求默认都是GET请求

2)POST

  • 采用实体内容传参,参数在传递过程中不可见
  • 隐私性好
  • 实体内容专门用来传参,大小不受限制
  • 在form上加method="post"

3.如何选择请求方式

    • 一般查询时使用GET请求,因为查询条件一般比较少
    • 一般保存时使用POST请求,因为保存的数据一般较多

Servlet(二)