为什么http是无状态的协议_每天学习一个计算机网络协议之HTTP

应用层中常见的协议主要有

1.文件传输协议 FTP

2.域名解析协议 DNS

3.邮件发送和接受协议 SMTP POP3/IMAP

4.超文本传输协议 HTTP

前三个协议已经在前面的文章介绍过了,今天介绍计算机网络中大家天天都在使用的协议

40650bb7d4866ad382200a3f1e377dc0.png

HTTP协议

HTTP Hyper Text Transfer Protocol 超文本传输协议

HTTP传输协议是基于TCP的无状态传输协议。

1.HTTP传输是基于TCP的,所以提供的是可靠传输,也就是传输过程有连接建立,传输数据,断开连接的过程

2.HTTP传输是无状态的,也就是说你每次访问服务器,服务器都不会记住你是谁,你访问了什么网页。比如你第一次登陆163邮箱,输入账号密码,登陆成功,退出后。第二次登陆163邮箱,登陆界面还会让你输入账号,密码(在现实操作中,为什么登陆界面可以记住账号和密码是由于使用了cookie技术。)

HTTP中的对象

HTTP被称为超文本传输协议,说明了用户和服务器在传输的过程中,传输的对象既有文字,图片,又有视频,声音等等。让我们实际看看,一个网页中都包含有哪些对象,我们这里使用的是chrome浏览器中的开发者工具查看网页。

e01dd3fceb96db350c1b3204d5817ac7.png

这是一个超链接对象

0941f1a02850da122c01b4a4a4d0b9a1.png

这是一个图片对象

以上两张图片只是列举了网页中众多对象中的两个。

持久性连接的HTTP和非持久性连接的HTTP

http 1.0协议采用的是非持续性连接,http1.1采用的是持续性连接。 目前最常用的http1.1

ef08f641b14556191878d82e0f1a3028.png

HTTP 1.1

HTTP协议中服务器端使用的是80端口,HTTP的具体连接过程见下图。

fabe976f68c1a46e02ad677e926365be.png

HTTP连接过程

当一个网页中含有多个对象的时候,非持久性HTTP连接,每请求一个对象就需要步骤1,2,3

持久性HTTP连接,请求第一个对象的步骤是1,2,3但是请求第二个对象和剩下的对象步骤是

2,3。两种连接方式最主要的区别是,持久性HTTP连接不需要每次都建立TCP连接,第一次TCP连接建立后,服务器就在80端口一直等待。

持久性HTTP连接分类

1.带有流水机制的持久性连接

2.不带有流水机制的持久性连接

8c5b33e2c1cebead35b92d24f2ca9b12.png

不带和带有流水机制的持久性连接

两者主要的区别就是,发送对象请求后,是否等待对象返回后再发送下一个对象请求。

如果等待则是不带有流水机制的持久性连接,如果不等待则相反。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值