本篇将简单介绍 TCP 与 UDP,藉由介绍两者的差异,来解释为何 TCP 为什麽会比较耗时间,然而如何有效利用时间也是爬虫程序规划的重点之一。之後也会在实战篇将会讲解如何规划,来避免耗费太多时间在连线上。
引用自维基百科:
传输控制协定(英语:Transmission Control Protocol,缩写:TCP)是一种连接导向的、可靠的、基於位元组流的传输层通信协定。
连接导向:
发送端:像是浏览器、爬虫程序等。
接收端:我们要连线的目标网站。
TCP在发送资料前,发送端会与接收端进行三方交握
的动作,来确认已经与接收端连上线。
什麽是三方交握
?
连接请求
连接请求
之後便会回传确认信号
给发送端
确认信号
後,便会再发送讯息给接收端说:我确认你的确认讯号了,我要发送资料给你罗!
可靠的:
TCP 会为每个封包分配一个唯一的
识别码与序号,让接收端在接收时,能够确保封包的完整性及顺序。当接收端收到封包後,如果顺序正确,会向发送端传送一个确认信号
,以此确认接收端已经收到封包。反之,如果封包遗失或顺序错误,接收端则不会发送确认信号
,而发送端需要重新传送。
我们可以发现到,由於 TCP 要做的事情真的是太多了(相较於 UDP 而言),所以发送端与接收端在沟通时是非常耗费时间的。
我们平常使用浏览器浏览的网站,基本上都是使用 TCP 协定来做沟通,因为 TCP 的可靠性,才能让发送端知道连线的状态结果。
以上就是 TCP 与 UDP 的简单介绍!
[1] Wiki - TCP
[2] Wiki - UDP
>>: DAY 09 Extends, Inhreitance
当你开始想要为你的产品或是服务广告,注册完 Google Ads 後,需要填入你的网站资讯,让我们逐...
运算式树 Expression tree Expression tree 是一个树状结构的物件, 这...
What is Inspector? Amazon Inspector 安全评估可协助您检查 Ama...
嵌套元件(Nesting Components),在 Vue.js 中是很普遍的用法,可以在父元件赋...
图片缓载入是为了避免第一次进到网页载入大量图片,造成网页载入速度太慢,因此非第一个画面看到的图片,可...