关于http协议与tcp协议的一点总结

  1. tcp协议
    1)服务器维护一个tcp长连接,只需要维护ip+端口+客户端ID,前两个属于链接的本质属性,后一个属于业务属性,主要是希望可以减少数据的传输(如果没有客户端ID,每次输出数据都必须带上这个,所以最好直接维护在链接里面)
    2)心跳包不属于链接需要维护的东西,它只是确保链接存在且有效的手段,与链接本身没有关系,错误异常处理都属于这个范畴
    3)数据传输协议可以自由定义,但是最重要的是需要定义清楚数据头和数据尾(校验一般也是必须的,可以放在数据尾),且不能省略,其余可以根据需要自由定义

  2. udp协议
    1)udp有没有最大传输数据的限制?
    答:刚听到这个问题,我一脸黑人问号,当然有啊,这还用问么,数据包的大小必然是受限制的啊,这跟udp和tcp有什么关系呢?后来冷静下来细细回想,才明白这个问题的真正意图。我们知道tcp可以发送任意长度的数据,因为它是面向连接的且可靠的传输,所以把一个大的文件分割成合适的数据包。但是udp不行,主要因为udp是非可靠的传输,一旦其中某个包被丢弃了,在接收端就会重组数据失败,所以udp上想做大文件的可靠传输是不靠谱的,最好将数据量保持在一个数据包中

  3. http协议
    1)从RESTFul的角度来说,get请求和post请求唯一的区别是一个用来请求数据,一个用来上传数据,但是在浏览器的角度,区别就比较多:
    a)对服务器来说,get请求是安全且幂等的(这里的安全是指get请求不会影响服务器数据,幂等是指无论请求多少次,结果都是一样的)
    b)get请求是有长度限制的,一般是1024,IE是是2083(2046+35),这个限制主要是由url的长度限制的;body在理论上没有size限制
    c)POST请求安全性更高(这里的安全是指数据安全)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值