电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

tcp与http传输功率的差异

2017-04-07 14:31分类:电子技术 阅读:

 

tcp与http传输功率的差异
1、TCP联接
手机能够运用联网功用是因为手机底层完毕了TCP/IP协议,能够使手机终端通过无线网络树立TCP联接。TCP协议能够对上层网络供给接口,使上层网络数据的传输树立在“无纷歧样”的网络之上。
树立起一个TCP联接需求通过“三次握手”:
初度握手:客户端发送syn包(syn=j)到效劳器,并进入SYN_SEND状况,等候效劳器供认;
第2次握手:效劳器收到syn包,有必要供认客户的SYN(ack=j+1),一起自个也发送一个SYN包(syn=k),即SYN+ACK包,此刻效劳器进入SYN_RECV状况;
第三次握手:客户端收到效劳器的SYN+ACK包,向效劳器发送供认包ACK(ack=k+1),此包发送完毕,客户端和效劳器进入ESTABLISHED状况,完毕三次握手。
握手进程中传送的包里不包含数据,三次握手完毕后,客户端与效劳器才正式开端传送数据。志趣状况下,TCP联接一旦树立,在通讯两头中的任何一方主动关闭联接之前,TCP 联接都将被一向坚持下去。断开联接时效劳器和客户端均能够主动建议断开TCP联接的央求,断开进程需求通过“四次握手”(进程就不细写了,即是效劳器和客户端交互,终究断定断开)
2、HTTP联接
HTTP协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的根底,也是手机联网常用的协议之一,HTTP协议是树立在TCP协议之上的一种运用。
HTTP联接最显着的特征是客户端发送的每次央求都需求效劳器回送照料,在央求完毕后,会主动开释联接。从树立联接到关闭联接的进程称为“一次联接”。
1)在HTTP 1.0中,客户端的每次央求都央求树立一次独自的联接,在处理完本次央求后,就主动开释联接。
2)在HTTP 1.1中则能够在一次联接中处理多个央求,并且多个央求能够堆叠进行,不需求等候一个央求完毕后再发送下一个央求。
因为HTTP在每次央求完毕后都会主动开释联接,因而HTTP联接是一种“短联接”,要坚持客户端程序的在线状况,需求不断地向效劳器建议联接央求。通常的做法是即时不需求获得任何数据,客户端也坚持每隔一段固定的时刻向效劳器发送一次“坚持联接”的央求,效劳器在收到该央求后对客户端进行回复,标明知道客户端“在线”。若效劳器长时刻无法收到客户端的央求,则以为客户端“下线”,若客户端长时刻无法收到效劳器的回复,则以为网络现已断开。
3、SOCKET原理
3.1套接字(socket)概念
套接字(socket)是通讯的柱石,是支持TCP/IP协议的网络通讯的根柢操作单元。它是网络通讯进程中端点的笼统标明,包含进行网络通讯有必要的五种信息:联接运用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。
运用层通过传输层进行数据通讯时,TCP会遇到一起为多个运用程序进程供给并发效劳的疑问。多个TCP联接或多个运用程序进程或许需求通过同一个 TCP协议端口传输数据。为了差异纷歧样的运用程序进程和联接,许多核算机操作体系为运用程序与TCP/IP协议交互供给了套接字(Socket)接口。运用层能够和传输层通过Socket接口,差异来自纷歧样运用程序进程或网络联接的通讯,完毕数据传输的并发效劳。
3.2 树立socket联接
树立Socket联接起码需求一对套接字,其间一个作业于客户端,称为ClientSocket ,另一个作业于效劳器端,称为ServerSocket 。
套接字之间的联接进程分为三个进程:效劳器监听,客户端央求,联接供认。
效劳器监听:效劳器端套接字并不定位详细的客户端套接字,而是处于等候联接的状况,实时监控网络状况,等候客户端的联接央求。
客户端央求:指客户端的套接字提出联接央求,要联接的方针是效劳器端的套接字。为此,客户端的套接字有必要首要描绘它要联接的效劳器的套接字,指出效劳器端套接字的地址和端标语,然后就向效劳器端套接字提出联接央求。
联接供认:当效劳器端套接字监听到或许说接纳到客户端套接字的联接央求时,就照料客户端套接字的央求,树立一个新的线程,把效劳器端套接字的描绘发给客户端,一旦客户端供认了此描绘,两头就正式树立联接。而效劳器端套接字继续处于监听状况,继续接纳别的客户端套接字的联接央求。
4、SOCKET联接与TCP联接
创立Socket联接时,能够指定运用的传输层协议,Socket能够支持纷歧样的传输层协议(TCP或UDP),当运用TCP协议进行联接时,该Socket联接即是一个TCP联接。
5、Socket联接与HTTP联接
因为通常状况下Socket联接即是TCP联接,因而Socket联接一旦树立,通讯两头即可开端彼此发送数据内容,直到两头联接断开。但在实习网络运用中,客户端到效劳器之间的通讯通常需求穿越多个基地节点,例如路由器、网关、防火墙等,大有些防火墙默许会关闭长时刻处于非生动状况的联接而致使 Socket 联接断连,因而需求通过轮询通知网络,该联接处于生动状况。
而HTTP联接运用的是“央求—照料”的办法,不只在央求时需求先树立联接,并且需求客户端向效劳器宣告央求后,效劳器端才调回复数据。
许多状况下,需求效劳器端主见向客户端推送数据,坚持客户端与效劳器数据的实时与同步。此刻若两头树立的是Socket联接,效劳器就能够直接将数据传送给客户端;若两头树立的是HTTP联接,则效劳器需求比及客户端发送一次央求后才调将数据传回给客户端,因而,客户端守时向效劳器端发送联接央求,不只能够坚持在线,一起也是在“问询”效劳器是不是有新的数据,假定有就将数据传给客户端。
二:首要,纠正一下我早年一向误解的概念,我一向以为Http和Tcp是两种纷歧样的,可是方位对等的协议,尽管知道TCP是传输层,而http是运用层今日学习了下,知道了http是要依据TCP联接根底上的,简略的说,TCP即是单纯树立联接,不触及任何咱们需求央求的实习数据,简略的传输。http是用来收发数据,即实习运用上来的。
榜首:从传输层,先说下TCP联接,咱们要和效劳端联接TCP联接,需求通过三次联接,包含:央求,供认,树立联接。即传说中的“三次握手协议”。
初度:C发送一个央求联接的位码SYN和一个随机发作的序列号给Seq,然后S收到了这些数据。
第2次:S收到了这个央求联接的位码,啊呀,有人向我宣告央求了么,那我要不要承受他的央求,得完毕供认一下,所以,发送了一个供认码 ACN(seq+1),和SYN,Seq给C,然后C收到了,这个是第2次联接。
第三次:C收到了供认的码和之前发送的SYN一比照,偶哟,对上了么,所以他又发送了一个ACN(SEQ+1)给S,S收到往后就断定树立联接,至此,TCP联接树立完毕。
简略即是:央求,供认,联接。
第二:从实习上的数据运用来说httP:
在前面客户端和运用效劳器树立TCP联接往后,就需求用http协议来传送数据了,HTTP协议简略来说,仍是央求,供认,联接。
全体即是C发送一个HTTP央求给S,S收到了这个http央求,然后回来给Chttp照料,然后C的基地件或许说阅览器把这些数据烘托变成了页面,展如今用户面前。
榜首:发送一个http央求给S,这个央求包含央求头和央求内容:
request header:
包含了,1.央求的办法是POST/GET,央求的URL,http协议版别2.央求的数据,和编码办法3是不是有cookie和cooies,是不是缓存等。
post和get央求办法的差异是,get把央求内容放在URL后边,可是URL长度有绑缚。而post是以表单的局势,适宜要输入暗码之类的,因为不在URL中闪现,所以比照安全。
request body:
即央求的内容.
第二:S收到了http央求,然后依据央求头,回来http照料。
response header:包含了1.cookies或许sessions2.状况吗3.内容巨细等
response body:
即照料的内容,包含,JS啥的。
第三,C收到了往后,就由阅览器完毕一系列的烘托,包含施行JS脚本等。
这即是我所了解的webTCP,HTTP根底知识,待续。。。。。
三、TCP是底层通讯协议,界说的是数据传输和联接办法的规范
HTTP是运用层协议,界说的是传输数据的内容的规范
HTTP协议中的数据是运用TCP协议传输的,所以支持HTTP也就必定支持TCP
HTTP支持的是www效劳
而TCP/IP是协议
它是Internet国际互联网络的根底。TCP/IP是网络中运用的根柢的通讯协议。
TCP/IP实习上是一组协议,它包含上百个各种功用的协议,如:长途登录、文件传输和电子邮件等,而TCP协议和IP协议是保证数据无缺传输的两个根柢的首要协议。通常说TCP/IP是Internet协议族,而不单单是TCP和IP。

上一篇:cisco路由器初始设备装备教程

下一篇:光纤接续进程中应留心的疑问

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部