前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于Django的电子商务网站开发(连载6)

基于Django的电子商务网站开发(连载6)

作者头像
顾翔
修改2023-09-20 18:09:09
7420
修改2023-09-20 18:09:09
举报

1.3.4 HTTP的连接性

通信中无连接的含义是限制每次连接只处理一个请求。服务器处理完客户端的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。在日常生活中可以认为普通邮件(是Mail,非Email)是无连接的,而打电话是有连接的。当发送邮件的时候,虽然信封上有收件人的地址和邮编,但是邮件有无收到,不通过其他方式,是不可能知道的,所以无连接的通信是不可靠的;而打电话是有连接的,正常情况包括拨号,应答和挂断,如果对方正在通话显示忙音,如果对方不在现场则显示无人应答,所以有连接的通信是可靠的。

HTTP协议是无连接的,这是由于早期HTTP 协议产生的时候,服务器需要同时处理面向全世界数十万、甚至上百万个客户端的网页访问,但是每个浏览器与服务器之间交换的间歇性是比较大的,并且网页浏览的发散性导致了两次传送的数据关联性是很低的,大部分的通道实际上会很空闲、无端占用资源,所以HTTP的设计者有意利用这种特点将协议设计为请求时建连接、请求完释放连接,即面向无连接的,以尽快将资源释放出来服务给其他客户端。

  但是随着时间的推移,网页变得越来越复杂,网页里面有很多图片、视频等文件,这种情况和如果每次访问都需要建立一次TCP连接就显得很低效。因此,Keep-Alive在HTTP 1.1中被提出用来解决这个低效的问题。

Keep-Alive 可以使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive能够避免了建立或者重新建立连接。大部分Web 服务器,包括Django、IIS 和 Apache,都支持 HTTPKeep-Alive。对于提供静态内容的网站来说,这个功能通常是非常有用的。但是,对于负担较重的网站来说,这里存在另外一个问题,就是对性能的影响。当Web服务器和应用服务器在同一台机器上运行时,Keep-Alive功能对资源利用的影响尤其突出。

有了Keep-Alive,客户端和服务器之间的HTTP连接就会被保持,不会断开,当客户端发送另外一个请求时,就使用这条已经建立的连接。

图1-11是基于HTTP 1.0的页面请求。

(1)浏览器与WEB服务器建立连接。

(2)浏览器向WEB服务器发送HTTP网页1的请求。

(3)WEB服务器向浏览器返回网页1的响应消息。

(4)浏览器与WEB服务器断开连接。

(5)浏览器与WEB服务器建立连接。

(6)浏览器向WEB服务器发送图片1.1请求。

(7)WEB服务器向浏览器返回图片1.1的响应消息。

(8)浏览器与WEB服务器断开连接。

(n)浏览器与WEB服务器建立连接。

(n+1)浏览器向WEB服务器发送HTTP网页2的请求。

(n+2)WEB服务器向浏览器返回网页2的响应消息。

(n+3)浏览器与WEB服务器断开连接。

(n+4)浏览器与WEB服务器建立连接。

(n+5)浏览器向WEB服务器发送图片2.1请求。

(n+6)WEB服务器向浏览器返回图片2.1的响应消息。

(n+7)浏览器与WEB服务器断开连接。

图1-11基于HTTP 1.0的页面请求

图1-12是基于HTTP 1.1的页面请求,在这里加入了。HTTPKeep-Alive。

图1-12基于HTTP 1.0的页面请求

(1)浏览器与WEB服务器建立连接。

(2)浏览器向WEB服务器发送HTTP网页1的请求。

(3)WEB服务器向浏览器返回网页1的响应消息。

(4)浏览器向WEB服务器发送图片1.1请求。

(5)浏览器向WEB服务器发送图片1.2请求。

(6)浏览器向WEB服务器发送图片1.3请求。

(7)WEB服务器向浏览器返回图片1.1的响应消息。

(8)WEB服务器向浏览器返回图片1.2的响应消息。

(9)WEB服务器向浏览器返回图片1.3的响应消息。

(10)浏览器与WEB服务器断开连接。(注意:不同的HTML页面不能通过HTTPKeep-Alive保持连接。)

(11)浏览器与WEB服务器建立连接。

(12)浏览器向WEB服务器发送HTTP网页2的请求。

(13)WEB服务器向浏览器返回网页2的响应消息。

(14)浏览器向WEB服务器发送图片2.1请求。

(15)浏览器向WEB服务器发送图片2.2请求。

(16)WEB服务器向浏览器返回图片2.1的响应消息。

(17)WEB服务器向浏览器返回图片2.2的响应消息。

(18)浏览器与WEB服务器断开连接。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试培训 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.3.4 HTTP的连接性
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档