美文网首页
2.HTTP协议简介

2.HTTP协议简介

作者: 你weixiao的时候很美 | 来源:发表于2019-01-16 11:29 被阅读45次
    1.简介

    HTTP协议用于客户端和服务器之间的通信。叫超文本传输协议。是位于应用层的协议。

    2.特点

    1.在两台计算机之间使用 HTTP 协议通信时,在一条通信线路上必定有一端是客户端,另一端则是服务器端。HTTP 协议规定,请求从客户端发出,最后服务器端响应该请求并返回。换句话说,肯定是先从客户端开始 建立通信的,服务器端在没有接收到请求之前不会发送响应。

    2.HTTP 是一种不保存状态,即无状态(stateless)协议,协议对于发送过的请求或响应都不做持久化处理。每当有新的请求发送时,就会有对应的新响应产生。协议本身并不保留之前一切的请求或 响应报文的信息。这是为了更快地处理大量事务

    随着 Web 的不断发展,因无状态而导致业务处理变得棘手的情况增多了。比如,用户登录到一家购物 网站,即使他跳转到该站的其他页面后,也需要能继续保持登录状态。但为了实现期望的保持状态功能,于是引入了 Cookie 技术。有了 Cookie 再 用 HTTP 协议通信,就可以管理状态了。

    3.使用URI定位资源

    HTTP 协议使用 URI 定位互联网上的资源。正是因为 URI 的特定功能,在互联网上任意位置的资源都能访问到。

    4. 告知服务器意图的http方法
    1. GET:GET :获取资源
    2. POST:用来传输实体的主体。
    3. PUT:传输文件
    4. HEAD:获得报文首部
    5. DELETE:删除文件
    6. OPTIONS:询问支持的方法
    5. 持久链接节省通讯量

    1.HTTP 协议的初始版本中,每进行一次 HTTP 通信就要断开一次 TCP 连接。当对同一个资源多次请求,每次的请求都会造成无谓的 TCP 连接建立和断开,增加通信量的开销。

    2.持久连接(HTTP Persistent Connections,也称为 HTTP keep-alive 或 HTTP connection reuse)的方法。持久连接的特点是,只要任意 一端没有明确提出断开连接,则保持 TCP 连接状态。

    持久连接的好处在于减少了 TCP 连接的重复建立和断开所造成的额外开销
    减少开销的那部分时间,使 HTTP 请求和响应能够更早地结束,这样 Web 页面的显示速度也就相应提高了

    在 HTTP/1.1 及2.0中,所有的连接默认都是持久连接。

    1. 持久连接使得多数请求以管线化(pipelining)方式发送成为可能。从前发送请求后需等待并收到响应,才能发送下一个请求。管线化技术出现后,不用等待响应亦可直接发送下一个请求。
    6.使用cookie来状态管理
    1. 无状态的特点:
      假设要求登录认证的 Web 页面本身无法进行状态的管理(不记录已登录的状态),那么每次跳转新页面不是要再次登录,就是要在每次请求报文中附加参数来管理登录状态。

    无状态协议当然也有它的优点。由于不必保存状态,自然可减少服务器的 CPU 及内存资源的消耗。

    1. cookie技术:
      Cookie 技术通过在请求和响应报文中写入 Cookie 信息来控制客户端的状态。
    • 服务器端发送的响应报文内的一个叫做 Set-Cookie 的首部字段信息,通知客户端保存Cookie。
    • 客户端保存cookie,当下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入 Cookie 值后发送出去。
    • 服务器端发现客户端发送过来的 Cookie 后,会去检查究竟是从哪一个客户端发来的连接请求,然后对比服务器上的记录,最后得到之前的状态信息。

    相关文章

      网友评论

          本文标题:2.HTTP协议简介

          本文链接:https://www.haomeiwen.com/subject/otgpdqtx.html