HTTP HyperText Transfer Protocol

网络传送协议 定义了浏览器和服务器传输数据的一个格式问题
超文本传输协议,规定了浏览器和服务器之间==数据传输的规则==。

  • 数据传输的规则指的是请求数据和响应数据需要按照指定的格式进行传输。
  • 如果想知道具体的格式,可以打开浏览器,点击F12打开开发者工具,点击Network来查看某一次请求的请求数据和响应数据具体的格式内容,如下图所示:
  • 注意:在浏览器中如果看不到上述内容,需要清除浏览器的浏览数据。chrome浏览器可以使用ctrl+shift+Del进行清除。image.png
  • 包含了基本信息包括http的请求和响应都包含了在里面image.pngimage.png

请求行 请求头 请求体 三部分组成

HTTP协议特点

HTTP协议有它自己的一些特点,分别是:

  • 基于TCP协议: 面向连接,安全TCP是一种面向连接的(建立连接之前是需要经过三次握手)、可靠的、基于字节流的传输层通信协议,在数据传输方面更安全。
  • 基于请求-响应模型的:一次请求对应一次响应请求和响应是一一对应关系
  • HTTP协议是无状态协议:对于事物处理没有记忆能力。每次请求-响应都是独立的无状态指的是客户端发送HTTP请求给服务端之后,服务端根据请求响应数据,响应完后,不会记录任何信息。这种特性有优点也有缺点,请求之间无法共享数据会引发的问题,如:具体使用的时候,我们发现京东是可以正常展示数据的,原因是Java早已考虑到这个问题,并提出了使用会话技术(Cookie、Session)来解决这个问题。具体如何来做,我们后面会详细讲到。刚才提到HTTP协议是规定了请求和响应数据的格式,那具体的格式是什么呢?
    • 缺点:多次请求间不能共享数据
    • 优点:速度快
    • 京东购物,加入购物车和去购物车结算是两次请求,
    • HTTP协议的无状态特性,加入购物车请求响应结束后,并未记录加入购物车是何商品
    • 发起去购物车结算的请求后,因为无法获取哪些商品加入了购物车,会导致此次请求无法正确展示数据