TCP协议、HTTPS协议的理解

TCP

TCP是一种可靠的传输协议,为什么说它可靠呢,因为它有“三次握手”,为什么握三次手就可靠了,握两次或者一次会怎样?

首先来说假如只握两次手,比如一个客户机想跟服务端建立连接,它向服务端发送了一个请求连接的信号,只要服务端回复“ok”那就连接成功了。可是由于网络等原因客户机发送的这个信号被阻塞在路上了,服务端没收到任何消息,客户机等不到反馈一气之下关机下线了,可是这个时候服务端终于收到那个消息了,它给客户机回复了OK然后就开始发送要传输的东西,但是客户机根本不在线,这样不仅对于客户机来说丢失了该接收的东西,而且对于服务端来说也是一种资源浪费。而采用“三次握手”就能完美解决这个问题。而如果只握一次手,那就是UDP传输,东西扔给你,能不能到你那边随缘分。

“hi,我可以跟你拉小手手吗?”

“OK啊,那你现在方便跟我牵吗?(伸出手)”

“好的,我已经抓住你的手了”

。。。

HTTPS

HTTPS是加了安全验证的HTTP协议。

可以这么说,当你跟某个远端的小伙伴通过网络传输信息,你们要是有些偏隐私的信息被别人窃取了那就很不爽,所以很自然就想到把你要跟对方传输的东西锁进一个箱子里传过去,钥匙你一把他一把(对称加密)。可是这不是要累死配锁匠吗?配好一把锁要私下(明着给不就被人截胡了嘛)找到你给你一把,再找到他给他一把。效率高

所以我们就想换个思路,我要跟你传东西,我自己找个空箱子,往上面挂一把只有我有钥匙的锁,但是这个锁是开着的,把这个空箱子传给你后,你把你要交给我的东西装进箱子然后把锁锁住,这样传回来也只有我能打开箱子(非对称加密)。效率低

但是还有一个问题,万一你传空箱子过去的时候,谁在路上给你掉包了怎么办?这就需要一个中间人了,这个人得让大家都可信,我在箱子上签上名交给这个人,这个人会验证我的身份信息等,到时候他把箱子转交给你。空箱子可信了,那你就随便拿一个锁,有两把钥匙就够了,你留一把,另一把装进空箱子锁住传回给我,这样以后我们就用这世上仅有的两把钥匙来传递我们之间的小秘密。结合两者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值