HTTP的特点

https://blog.csdn.net/csdn_0_001/article/details/79252241

HTTP的特点:

  1. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
  2. 灵活:可以传输任意类型的数据对象(Content-Type)
  3. 无连接:无连接的含义是限制每次连接只处理一个请求。
    服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
  4. 无状态:HTTP协议是无状态协议。
    即我们给服务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何。
    HTTP的无状态特性简化了服务器的设计,使服务器更容易支持大量并发的HTTP请求。
  5. 支持B/S及C/S模式。

无连接
HTTP 的设计者有意利用这种特点将协议设计为请求时建连接、请求完释放连接,以尽快将资源释放出来服务其他客户端。
随着时间的推移,网页变得越来越复杂,里面可能嵌入了很多图片,这时候每次访问图片都需要建立一次 TCP 连接就显得很低效。后来,Keep-Alive 被提出用来解决这效率低的问题。

我们知道HTTP协议采用“请求-应答”模式,当使用非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接;
当使用Keep-Alive模式时,Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。

http 1.0中默认是关闭的,需要在http头加入”Connection: Keep-Alive”,才能启用Keep-Alive;
http 1.1中默认启用Keep-Alive,如果加入”Connection: close “,才关闭,目前大部分浏览器都是用http1.1协议,也就是说默认都会发起Keep-Alive的连接请求了。

无状态
优点在于解放了服务器,每一次请求“点到为止”不会造成不必要连接占用
缺点在于每次请求会传输大量重复的内容信息

Web 应用程序出现之后,HTTP 无状态的特性严重阻碍了这些应用程序的实现,于是,两种用于保持 HTTP 连接状态的技术就应运而生了,一个是 Cookie,而另一个则是 Session。Cookie通过在客户端记录信息确定用户身份Session通过在服务器端记录信息确定用户身份

猜你喜欢

转载自blog.csdn.net/csdnlijingran/article/details/88208010