网络协议
TCP三次握手
发送方:喂,听得到吗?(1+1=?)
接收方:听得到,你能听到我吗?(2,1+3=?)
发送方:听到了,我们可以聊天了。(4)
三次握手结束,双方建立连接,可以进行信息的传输
四次挥手
发送方:我讲完了(表达自己发送数据完毕)
接收方:好的,我知道了(对对方发完数据的回应)
接收方:我也讲完了(表达自己发送数据完毕)
发送方:好的(回应->连接关闭)
三次握手时第二第三步可以合并在一个报文中,但是四次挥手接收方发送回应时自己的数据还未发送完毕,需分为两步。
TCP与UDP的区别
TCP优点:可靠,稳定。传输数据前,会有三次握手来建立连接;传输数据时,有确认,窗口,重传,拥塞控制机制;传输结束后,断开连接来节约系统资源。
缺点:慢,效率低,占用资源高,易被攻击
UDP优点:快,稍安全一点,应用于广播,直播等延时低,可以丢包等场景
区别:
TCP面向连接;UDP是无连接的
TCP可靠,无差错,不丢失,不重复,按需到达;UDP不保证
TCP面向字节流; UDP面向报文,没有拥塞控制,所以网络拥塞不会使主机发送速率降低
总结:UDP类似于一个大广播,听到什么发什么,所有人都可以接受到,但是不负责重发,纠错,丢失,属于听过就算的那种,进一步的处理由用户自己来处理。
TCP建立双方专用通道,稳定,可靠
post与get区别
1.get在浏览器回退是无害的,post会再次提交请求
2. 对参数数据类型,get只接受ASCII,post没有限制
3.get请求只能进行url编码,post接受多种编码方式
4.get请求在url中是有长度限制的(大部分浏览器为64k),post没有
post与get是HTTP协议的两种发送请求的方法,get把参数放在url中,post把参数放在body中。
get 浏览器把header和data一起发送,服务器返回200
post 浏览器发送header,f服务器返回100,浏览器发送data,浏览器返回200(火狐浏览器只发送一次)
在网络环境好时,发一次包和两次包的时间可以忽略不计,而在网络环境差时,post发送两次包在验证数据完整性上有很大优点。