![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络
文章平均质量分 69
网络
Mark66890620
这个作者很懒,什么都没留下…
展开
-
TCP连接,没有打开keepalive选项,没有数据交互,一端突然断电和一端的进程crash了,这两种情况有什么区别呢?
这个属于TCP异常断开连接的场景这个问题有几个关键词:没有开启keepalive;一直没有数据交互;进程崩溃;主机崩溃;正文我们先来认识认识什么是TCPkeepalive呢?这东西其实就是TCP的保活机制,它的工作原理我之前的文章写过,这里就直接贴下以前的内容。如果两端的TCP连接一直没有数据交互,达到了触发TCP保活机制的条件,那么内核里的TCP协议栈就会发送探测报文。如果对端程序是正常工作的。当TCP保活的探测报文发送给对端,对端会正常响应,这样TC...转载 2022-05-18 22:33:10 · 628 阅读 · 0 评论 -
接口的幂等性怎么设计?
什么是幂等? 幂等性:多次调用方法或者接口不会改变业务状态,可以保证重复调用的结果和单次调用的结果一致。 二、使用幂等的场景 1、前端重复提交 用户注册,用户创建商品等操作,前端都会提交一些数据给后台服务,后台需要根据用户提交的数据在数据库中创建记录。如果用户不小心多点了几次,后端收到了好几次提交,这时就会在数据库中重复创建了多条记录。这就是接口没有幂等性带来的bug。 2、接口超时重试 对于给第三方调用的接口,有可能会因为网络原因而...转载 2022-04-05 19:01:38 · 1972 阅读 · 0 评论 -
nginx限流方案
一、引言 Nginx是被广泛使用的反向代理中间件,能够支持极高的并发访问,性能优越。在Nginx上添加限流功能是十分有必要的,能够对后端的服务进行保护,防止突发的流量致使应用崩溃。Nginx自带三种限流的方案,另外还支持集成lua模块进行限流。 二、ngx_http_limit_conn_module模块限流 ngx_http_limit_conn_module是连接数限流模块,用来对某个key对应的总的网络连接数进行限流,可以按照如IP、域名的维度进行限...转载 2022-04-03 22:30:26 · 1328 阅读 · 0 评论 -
高并发网络编程之epoll详解
在linux 没有实现epoll事件驱动机制之前,我们一般选择用select或者poll等IO多路复用的方法来实现并发服务程序。在大数据、高并发、集群等一些名词唱得火热之年代,select和poll的用武之地越来越有限,风头已经被epoll占尽。本文便来介绍epoll的实现机制,并附带讲解一下select和poll。通过对比其不同的实现机制,真正理解为何epoll能实现高并发。select()和poll() IO多路复用模型select的缺点:单个进程能够监视的文件描述符的数量存在最大限制,转载 2022-03-29 21:49:54 · 292 阅读 · 0 评论 -
HTTP的常见状态码有哪些,代表什么含义?
首先状态码的开头不同代表不同的类型:1xx:代表指示信息,表示请求已接收,继续处理2xx:代表成功,表示请求已被成功接收,理解,接受3xx:重定向,表示完成请求必须进行进一步的操作4xx:客户端错误,请求有语法错误或请求无法实现5xx:服务器端错误,服务器未能实现合法的请求常见状态码:200OK:正常返回信息400BadRequest:客户端请求有语法错误,不能被服务器所理解403Forbidden:服务器收到请求,但是拒绝提供服务404NotFound:请求资源不存原创 2022-03-23 21:39:02 · 787 阅读 · 0 评论 -
TCP和UDP各有什么特点,两者有什么区别?
TCP是面向连接的,使用TCP连接需要经过三次握手,断开连接需要经过四次挥手。相比于TCP,UDP则是面向无连接的,它像一个随时可以进行通信的协议,只要接收方创建了Socket,设置了监听端口,就能接收到到达的UDP包,并且能随时建立Socket进行发包。TCP可以对数据的发送速率作控制,它具有流量控制和拥塞控制机制,通过控制滑动窗口的大小控制数据的发送速率。而UDP理论上是可以无限地向网络中发数据包的,它的发送速率取决它的应用程序设置。TCP保证可靠的数据传输,它根据速率控制,重传控制,还有数据校转载 2022-03-23 21:38:21 · 324 阅读 · 0 评论 -
HTTP与HTTPS的区别?
HTTP和HTTPS的主要区别在于HTTP协议传递的是明文数据,而HTTPS传递的是加密过的数据,也就是说HTTPS更具有安全性。也正由HTTPS需要保证安全性,所以它的性能要比HTTP差一点。单说安全性肯定是不够的,我打算扩展讲一下HTTPS是怎么解决安全性问题的,通过这些HTTP没有机制,反映出HTTPS与HTTP的区别。下面尝试把HTTPS加密的过程推导出来。推导过程不涉及复杂的实现细节:如何安全地进行数据传输?假设现在A和B要进行安全的通信,那么究竟怎样才算是安全的通信?很自然地会想到:转载 2022-03-23 21:33:14 · 71 阅读 · 0 评论 -
快速掌握HTTP1.0、1.1 、2.0、3.0的特点及其区别
HTTP1.01.0的HTTP版本,是一种无状态,无连接的应用层协议。 HTTP1.0规定浏览器和服务器保持短暂的链接。浏览器每次请求都需要与服务器建立一个TCP连接,服务器处理完成以后立即断开TCP连接(无连接),服务器不跟踪也每个客户单,也不记录过去的请求(无状态)。这种无状态性可以借助cookie/session机制来做身份认证和状态记录。HTTP1.0存在的问题无法复用连接每次发送请求,都需要进行一次TCP连接,而TCP的连接释放过程又是比较费事的。这种无连接的特性会使得网络转载 2021-12-24 16:36:31 · 1909 阅读 · 0 评论 -
计算机网络应用层和传输层及网络层协议有哪些
应用层协议:1、远程登录协议(Telnet)2、文件传输协议(FTP)3、超文本传输协议(HTTP)4、域名服务协议(DNS)5、简单邮件传输协议(SMTP)6、邮局协议(POP3)其中,从网络上下载文件时使用的是FTP协议,上网游览网页时使用的是HTTP协议;在网络上访问一台主机时,通常不直接输入IP地址,而是输入域名,用的是DNS服务协议,它会将域名解析为IP地址;通过FoxMail发送电子邮件时,使用SMTP协议,接收电子邮件时就使用POP3协议。传输层协议:原创 2021-12-24 12:01:39 · 3978 阅读 · 0 评论 -
终于把 TCP 与 UDP 协议整明白了
网络编程有三个要素,分别是IP地址、端口号和通信协议,那本文主要讲述的是TCP与UDP这两种通信协议,以及编程的实现。首先,我们需要了解一下IP地址、端口号、通信协议的相关知识。一、IP地址网络中的计算机使用IP地址来进行唯一标识,IP地址有IPv4和IPv6两种类型。IPv4采用十进制或二进制表示形式,十进制是一种比较常用的表示形式,如192.168.1.131,IPv6采用十六进制表示形式,一般不常用。如何查看IP地址相关信息:在Windows系统下,打开cmd,输入命令ipconf转载 2022-01-25 10:28:32 · 169 阅读 · 0 评论 -
socket网络编程以及三次握手四次挥手
我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有socket的基本函数,这些都是本文想介绍的。本文的主要内容如下: 1、网络中进程之间如何通信? 2、Socket是什么? 3、socket的基本操作 3.1、socket()函数 3.2、bind转载 2021-12-28 14:25:34 · 1149 阅读 · 0 评论