美文网首页
协议笔记

协议笔记

作者: 星月西 | 来源:发表于2017-08-07 12:42 被阅读17次

1.QQ及时通信软件既使用UDP也使用TCP

  • 登录过程,客户端采用TCP协议向服务器发送消息,HTTP协议下载信息。登录之后,会有一个TCP连接来保持在线状态。
  • 和好友发消息,客户端采用UDP协议,但是需要通过服务器转发。腾讯为了确保传输消息的可靠性,采用上层协议来保证可靠传输:如果客户端收到UDP发送的消息,需要使用UDP发送一个应答包,以此保证消息可以无遗漏传输。
  • 在内网中两个客户端传文件,QQ采用P2P技术,不需要服务器中转。

2.TCP长连接为什么要发送心跳包

因为当电脑连接上网络时,运营商分配给电脑的IP只是一个内网的IP,手机要连上Internet必须要通过运营商的网关进行IP转化,这个网关称为NAT,电脑连接Internet是将运营商的内网ip和端口与外网相互映射来完成的。
但是运营商为了减少网关NAT映射表的负荷,当一个链路有一段时间没有通信时,就会删除对应表,造成链路中断,这个时间一般为五分钟,所以长连接后台需要定时发送心跳包来维持长连接。
同时,长连接的心跳周期不能设置的太长,否则长连接会被释放掉,造成客户端的重连和登录,同时也不能设置太短,太短会加重服务器的负担。

3.GET和POST在TCP阶段的不同

  • 对于GET请求,浏览器会把http头部和数据部分一起发送出去,服务端响应200(返回数据)
  • 对于POST请求,浏览器会先发送http头部,服务器响应100 continue,浏览器再发送数据部分,服务端响应200(ok)
  • 并不是所有的浏览器都会在POST中发送两次包,Firefox只发送一次

相关文章

  • 图解HTTP之TCP/IP

    图解HTTP协议笔记 HTTP 全名HyperText Transfer Protocol,超文本传输协议。 TC...

  • HTTP协议笔记

    HTTP协议笔记 标签(空格分隔): HTTP,TCP/IP [TOC] 1.网络协议基础知识 TCP/IP协议族...

  • 2018-01-20

    只是自说自话的学习笔记,各路看官绕路~ TCP协议: 1、tcp协议被定义为可靠的协议,但是它是属于传输层的协议,...

  • Chatbot记录

    微信协议简单调研笔记EverydayWechat

  • FileCoin技术文档学习笔记1

    FileCoin技术文档学习笔记1 1. 概述: FileCoin协议是在IPFS存储协议基础之上增加的奖励协议层...

  • 《Swift从入门到精通》(十八):协议

    协议(学习笔记) 环境Xcode 11.0 beta4 swift 5.1 协议语法示例protocol Some...

  • 协议笔记

    1.QQ及时通信软件既使用UDP也使用TCP 登录过程,客户端采用TCP协议向服务器发送消息,HTTP协议下载信息...

  • HTTP 深入探究

    【前言】以下源于慕课网《大话HTTP协议》课程笔记 认识HTTP协议 HTTP 基础[https://www.ji...

  • http

    完全是自己给自己的一个笔记 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议...

  • 协议栈笔记 | 2G/3G/4G

    协议栈笔记 | 2G/3G/4G 精通LTE协议栈软件开发 材料补充中

网友评论

      本文标题:协议笔记

      本文链接:https://www.haomeiwen.com/subject/gkmolxtx.html