美文网首页
简单的HTTP协议

简单的HTTP协议

作者: strong9527 | 来源:发表于2017-12-28 08:54 被阅读6次

HTTP协议用于客户端和服务器端之间的通信。

请求访问文本或图像等资源的一端称为客户端。而提供资源响应的一端成为服务器端。

在两台计算机之间使用HTTP协议通信时,在一条线路上必定有一端是客户端,另一端则是服务器端。

HTTP是不保存状态的协议

HTTP是一种不保存状态,既无状态(stateless)协议。HTTP协议自身不对请求和响应之间的通信状态进行保存。也就是说在HTTP这个级别,协议对于发送过的请求或响应都不做持久化处理。

使用HTTP协议每当有新的请求发送时,就会有对应的新响应产生。协议本身并不保留之前一切的请求或响应报文的信息。这是为了更快地处理大量事物,确保协议的可伸缩性,而特意把HTTP协议设计成如此简单。

HTTP/1.1虽然是无状态协议,但为了实现期望的保持状态功能,于是引入了cookie技术。

持久连接节省通信量

HTTP 协议的初始版本中,每进行一次HTTP通信就要断开一次TCP连接。以当年的通信情况来看,因为都是些容量很小的文本传输,所以即使这样也没有多大问题。可随着HTTP的普及,文档中包含大量图片的情况多了起来。

比如,使用浏览器一个包含多张图片的HTML页面时,在发送请求访问HTML页面资源的同时,也会请求该HTML页面里包含的其他资源。因此每次的请求都会造成无畏的TCP连接建立和断开,增加通信量的开销。

持久连接

为解决上述TCP连接的问题,HTTP/1.1和一部分的HTTP /1.0想出了持久连接(HTTP Persistent Connections ,也称为HTTP keep-alive或HTTP connection reuse)的方法。持久连接的特点就是,只要任意一端没有明确提出断开连接,则保持TCP连接状态。

持久连接旨在建立一次TCP连接后进行多次请求和响应的交互。

管线化

持久连接使得多数请求以管线化方式发送成为可能。从前发送请求后需等待并收到响应,才能发送下一个请求。管线化技术出现后,不用等待响应亦可直接发送下一个请求。

这样就能够同时并行发送多个请求,而不需要一个接一个地等待响应了。

使用Cookie的状态管理

HTTP是无状态协议,他不对之前发生过的请求和响应状态进行管理。也就是说,无法根据之前的状态进行本次的请求处理。

假设要求登录认证的Web页面本身无法进行状态的管理(不记录已登陆的状态),那么每次跳转新页面就要再次登陆,或者要在每次请求报文中附加参数来管理登录状态。

保留无状态协议这个特征的同时又要解决类似的矛盾问题,于是引入了Cookie技术。Cookie技术通过在请求和响应报文中写入Cookie信息来控制客户端的状态。

Cookie会根据从服务器端发送的响应报文内的一个叫做Set-Cookie的首部字段信息,通知客户端保存Cookie,当下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入Cookie值后发送出去。

相关文章

  • HTTP简单协议

    HTTP用于客户端和服务器端之间的通信 请求资源一端成为客户端,提供相应资源的一端叫做服务器端 通过请求和响应的交...

  • 简单的HTTP协议

    作用 请求的报文构成 响应报文构成 使用URI定位资源 HTT...

  • 简单的HTTP协议

    作者:李成文;标签: 简单的HTTP协议 HTTP协议用于客户端和服务端之间的通信 HTTP协议用于客户端与服务端...

  • 简单的HTTP协议

    HTTP是不保存状态的协议   HTTP是一种无状态协议,自身不对请求和响应之间的通信状态进行保存。也就是说在HT...

  • 简单的Http协议

    1、HTTP协议用户用户客户端和服务器端之间的通信 请求访问资源的一端称为客户端,提供资源相应的为服务端 满足HT...

  • 简单的HTTP协议

    http用于客户端和服务器端之间的通信 通过请求和相应的交换达成通信 http是不保存状态的协议也就说在http这...

  • 简单的HTTP协议

    HTTP协议用于客户端和服务器端之间的通信。 请求访问文本或图像等资源的一端称为客户端。而提供资源响应的一端成为服...

  • 简单的HTTP协议

    前端7班_leec HTTP协议用于客户端和服务器端之间的通信## 请求访问文本货图像等资源的一端称为客户端,提供...

  • 简单的HTTP协议

    HTTP协议用于客户端和服务端之间的通信: 客户端与服务端:(请求->处理->响应) 请求报文是由请求方法、请求 ...

  • HTTP (二.简单的 HTTP 协议)

    1.HTTP 协议用于客户端和服务器端之间的通信 在两台计算机之间使用 HTTP 协议通信时,在一条通信线路上必定...

网友评论

      本文标题:简单的HTTP协议

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