Http协议

1、什么是Http协议?

  HyperText Transfer Protocol

  是由W3C(万维网联盟)制定的一种应用层协议,用来定义浏览器与web服务器之间如何通信以及通信数据的数据格式

  如何通信:

    1.建立连接

    2.打包,发送请求

    3.打包,发送相应

    4.关闭连接

    一次请求一次连接,web服务器可以利用有限的连接为尽可能多的客户端服务

2、请求数据包组成

  请求行:请求方式+请求资源路径+协议版本

  消息头(若干):消息头是一些键值对,一般有w3c定义。通信的双方通过消息头来传递一些特定的含义,比如,浏览器可以发送User-Agent消息头告诉Web服务器,浏览器的类型和版本。大部分为自动生成,某些时候自己需要添加消息头

  实体内容:(即请求参数)

3、响应数据包组成

  状态行:协议类型+版本+状态码+状态描述

  消息头(若干):web服务器返回一些消息头给浏览器。例如返回Content-Type,告诉浏览器服务器返回的数据类型和字符集。

  实体内容:程序处理的结构

4、如何控制通信数据

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

  与请求数据对应的是HttpServletRequest类型的对象

  与响应数据对应的是HttpServletResponse类型的对象

5、HttpServletRequest对象

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

  作用

    读取和写入HTTP请求数据(请求行、消息头等)

    取得和设置Cookies

    取得路径信息

    标识HTTP会话

    实现请求转发

6、HttpServletResponse对象

  HttpServletResponse对象代表提供给客户端的响应,封装了HTTP的响应数据。通过这个对象可设置状态行、消息头、实体内容。

  作用:

    设置对客户端的输出内容

    设置响应的状态码

    设置浏览器的解码方式

    设置Cookies

    实现重定向

你可能感兴趣的:(http协议)