杂烩

  1. HTTP虽然叫做超文本传输协议,但是它并不负责传输数据,而是交给TCP/IP来做;
  2. HTTP是无状态的,即不会存储访问信息,要想实现有状态可以使用cookie,sessionID等;
  3. HTTP是无连接的,即限制每次连接只处理一个请求。服务器处理完用户的请求,并收到用户的应答后就断开连接。采用这种方式可以节省传输时间;
  4. HTTP可以传输文本,视频,音频,图片等数据格式;
  5. HTTP请求:要么想拿到服务器上的资源,要么想修改服务器上的资源,要么…
  6. 浏览器输入www.baidu.com,实际上会发起几十个请求,比如请求html,图片,样式表等;如果是我们自己写的controller,初学的就是一个url对应一个请求;
  7. Post请求的请求体中有请求参数,那get请求的请求体中有什么

报文格式

  1. HTTP规定了要传输的信息的格式,即报文中的信息格式
  2. HTTP两种表现形式:请求报文和响应报文,两者的结构基本相同;
  3. 一般格式为:起始行,头部字段集合,空行,消息正文

image.png
image.png
image.png
image.png
image.png

image.png

下面是一个完整的响应报文:即起始行,响应头,空行,响应体
image.png
请求行只有一行,一般要与Host结合才能得到完整的地址
image.png
请求方法是请求行的第一个字段
image.png
image.png
image.png
image.png
image.png
image.png
image.png

HTTP请求完整过程

image.png

image.png