Skip to content
  • 公司内网站的联合登录(SSO)是如何实现的?如果登录过子域名A后,再访问子域名B,是否会重定向?Cookie存在哪个域名下?

    • SSO原理:通过认证服务器进行认证,然后返回认证票据。(传统的cookie + session方案)
    • 是否重定向取决于存储方式,如果是存储在父域名下,则不会重定向。(但是这样有跨域问题) 具体内容见:src/后端/Nodejs/jwt&cookie.md
  • TCP协议和UDP协议有什么区别?

tcp是可靠传输,对传输的安全性和可靠性有要求,要三次握手四次挥手;有链接基于字节流的可靠连接。 udp则是不关心对方是否收到,无连接基于数据报的不可靠传输

【标准回答】 标准回答 首先UDP协议和TCP协议都是运输层协议,都是为应用层程序服务,都具有复用(不同的应用层协议可以共用UDP协议和TCP协议)和分用(将数据报解析之后分发给不同的应用层程序)的功能。UDP提供面向无连接基于数据报的不可靠传输,TCP提供面向连接基于字节流的可靠传输。UDP在很多实时性要求高的场景有很好的表现,而TCP在要求数据准确、对速度没有硬性要求的场景有很好的表现。

加分回答 具体的区别详细描述可以是: · UDP协议:面向无连接(不需要三次握手和四次挥手)、尽最大努力交付、面向报文(每次收发都是一整个报文段)、没有拥塞控制不可靠(只管发不管过程和结果)、支持一对一、一对多、多对一和多对多的通信方式、首部开销很小(8字节)。优点是快,没有TCP各种机制,少了很多首部信息和重复确认的过程,节省了大量的网络资源。缺点是不可靠不稳定,只管数据的发送不管过程和结果,网络不好的时候很容易造成数据丢失。又因为网络不好的时候不会影响到主机数据报的发送速率,这对很多实时的应用程序很重要,因为像语音通话、视频会议等要求源主机要以恒定的速率发送数据报,允许网络不好的时候丢失一些数据,但不允许太大的延迟,UDP很适合这种要求。 · TCP协议:是TCP/IP体系中非常复杂的一个协议,面向连接(需要三次握手四次挥手)、单播(只能端对端的连接)、可靠交付(有大量的机制保护TCP连接数据的可靠性)、全双工通讯(允许双方同时发送信息,也是四次挥手的原由)、面向字节流(不保留数据报边界的情况下以字节流的方式进行传输,这也是长连接的由来。)、头部开销大(最少20字节)。优点是可靠、稳定,有确认、窗口、重传、拥塞控制机制,在数据传完之后,还会断开连接用来节约系统资源。缺点是慢,效率低,占用系统资源高,在传递数据之前要先建立连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接。在要求数据准确、对速度没有硬性要求的场景有很好的表现,比如在FTP(文件传输)、HTTP/HTTPS(超文本传输),TCP很适合这种要求。

【延伸阅读】 UDP协议和TCP协议怎么做选择?如果想要可靠的数据传输流,TCP就是最好的选择。TCP 确保完全按照发送的方式接收所有内容,并且不在乎是否可能出现延迟或连接拒绝并且必须重试。但是如果更关心速度并希望更快地接收信息,无论它是否完全按照发送的方式接收或者数据包是否丢失,那么UDP就是最好的选择。UDP优于TCP的示例比如:在线实时视频和音频聊天或在实时在线游戏中玩多人游戏或战场。

  • OSI七层模型有哪些?

数据链路层:

应用层:HTTP等等

表示层:数据加密、应用转换 会话层:建立解除会话

传输层:端到端接口 tcp、udp 网络层:为数据包选择路由,选择IP

数据链路层:传输数据帧 物理层:二进制字节流传输

本站访客数 人次 本站总访问量