interaction
古笑来
愿今日之所作,可为君行一时方便!
展开
-
webSocket
webSocket1、简介WebSocket协议是基于TCP的一种新的网络协议,和http协议一样属于应用层协议,它实现了浏览器与服务器全双工(full-duplex)通信,也就是允许服务器主动发送信息给客户端。我在实现二维码扫描登录时曾使用过,有了它就不需要通过轮询或者建立长连接的方式来使客户端实时获取扫码状态,因为当扫码后,服务器端可以主动发送消息通知客户端。2、webSocket和http的区别http链接分为短链接和长链接,短链接是每次请求都要重新建立TCP链接,TCP又要三次握手才能建立,原创 2021-12-14 09:32:04 · 1816 阅读 · 0 评论 -
文件零拷贝
https://blog.csdn.net/zhangcongyi420/article/details/103099441什么是零拷贝? 文件nio 即 零拷贝读信息需要 先读到内核缓存 再读到用户缓冲区写信息需要 先写到内核缓存 在写到网卡或磁盘零拷贝就是不需要拷贝到 用户缓冲区,也不需要从用户缓冲区拷贝出去,而是直接引用内核缓存在Java中就是不需要拷贝到堆,也不需要从堆拷贝出去。java中直接操作 直接内存,可以达到零拷贝的目的。数据读到内核缓冲区,可以通过映射直接映射到java的直接原创 2021-12-14 09:31:30 · 363 阅读 · 0 评论 -
网络相关面试题
什么是跨域浏览器访问不同源的东西,就是跨域同源指的是是么?http ip port 一样,则为同源怎么解决同源?后端服务允许代理服务器 前端jsonb 只能访问get请求,不推荐正向代理客户的请求,和代理服务器发出的请求是一个相同的请求。是一个位于客户端和目标服务器之间的服务器(代理服务器),为了从目标服务器取得内容,客户端向代理服务器发送一个请求并指定目标,然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端。反向代理客户的请求,和代理服务器发出的请求可以是一个不同的请原创 2021-12-14 09:30:43 · 62 阅读 · 0 评论 -
netty
https://zhuanlan.zhihu.com/p/196759269netty是什么?使用 NIO 编写代码太难了一个使用 NIO 编写的 Server 端如下,可以看出还是整体还是比较复杂的,并且代码读起来不是很直观,并且还可能由于 NIO 本身会存在 Bug。这时候netty就诞生了,它是一个基于 NIO 的 client-server(客户端服务端)网络通信框架,使用它可以快速简单地开发网络应用程序。在java nio的基础上做了很多优化,比直接使用 Java 核心 API 有更高的吞吐原创 2021-12-14 09:29:58 · 214 阅读 · 0 评论 -
网络nio
IO:网络IO、磁盘IO。IO流就是输入输出,而输入和输出的地方是各式各样的。所有的io说的都是操作系统和应用之间的事为什么说IO都是针对系统的,因为客户端和服务端, 都是在自己的宿主机子上,向宿主机询问资源,只是这个资源可能是别的机子通过网络发过去的。如果是通过网络发过去的,那么它就是在行宿主机的网卡索要,和另一个服务没关系。网络io,网卡(磁盘) 到 内核空间 再到 用户空间 进行操作https://www.cnblogs.com/flashsun/p/14591563.html四种IO模型原创 2021-12-14 09:29:30 · 1031 阅读 · 0 评论 -
长连接、短连接
tcp:是一种协议,也是一种定义,操作系统会实现它发送一个http请求:浏览器构造数据(ip:port connection:keep-alive)调用系统api(socket.__sys_connect()),实现tcp连接发送数据短连接:tomcat处理完这个请求并返回之后,断开连接。浏览器接受到响应之后,断开连接。长连接:谁都不会去断开这个连接。tomcat可以配置这个连接,被复用到少次之后,断开。默认是100滑动窗口,浏览器每次想服务器发送报文的时候,都会去问一下服务器你的窗原创 2021-12-14 09:26:20 · 293 阅读 · 0 评论 -
http、https、http2
http2帧化:头信息帧 数据信息帧连接复用:一个报文分解成多个帧 在一条链路上传输,回来也一样hpack压缩:客户端和服务端维护一个表,存储请求头,如果下次请求发生变化,只需要把头中变化的信息带上就行了,其他的都不用传,因为服务端也已经缓存。http3:因为http2 使用的是一个连接,那个有一个丢包后,后边其他的包都要等待重排。http3使用基于udp的QUIC解决这个问题。...原创 2021-12-14 09:22:56 · 1317 阅读 · 0 评论 -
计算机网络协议
有那四层协议和八层协议TCP的三次握手和四次挥手为什么要四次分手?TCP协议是一种面向连接的、可靠的、基于字节流的运输层通信协议。TCP是全双工模式,这就意味着,当主机1发出FIN报文段时,只是表示主机1已经没有数据要发送了,主机1告诉主机2,它的数据已经全部发送完毕了;但是,这个时候主机1还是可以接受来自主机2的数据;当主机2返回ACK报文段时,表示它已经知道主机1没有数据发送了,但是主机2还是可以发送数据到主机1的;当主机2也发送了FIN报文段时,这个时候就表示主机2也没有数据要发送了,就会告原创 2021-12-14 09:21:59 · 1756 阅读 · 0 评论