计算机网络
未读TCP与UDP的区别TCPTCP的优点:可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。
TCP的缺点:慢,效率低,占用系统资源高,易被攻击TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,事实上,每个连接都会占用系统的CPU、内存等硬件资源。 而且,因为TCP有确认机制、三次握手机制,这些也导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。
什么时候应该使用TCP:当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。 在日常生活中,常见使用TCP协议的应用如下: 浏览器,用的HTTP FlashFXP,用的FTP Outlook,用的POP、SMTP Putty,用的Telnet、SSH QQ文件传输
UDPUDP的优 ...
计算机网络
未读SSL握手过程本质SSL握手过程的本质是在协商对称加密的秘钥。HTTPS协议的安全机制是靠SSL来实现的(SSL位于应用层和传输层之间)
为了保证数据的安全性,在数据发送前需要对数据进行加密。传统的对称加密,协商秘钥过程如果被窃听导致秘钥泄露,加密的数据也就变得“公开透明”了,而使用非对称加密的方式效率较低。因此,在SSL中采用“对称加密个非对称加密结合”的方法保证数据的安全性,即非对称加密进行对称加密秘钥的协商,而这个协商过程就可以认为是SSL握手。
过程1.客户端给服务器端发送协议版本、客户端支持的加密算法、一个随机数1。2.服务器端选择加密算法,并向客户端发送一个服务器数字证书和一个随机数2。3.客户端使用数字证书中的公钥,将随机数3加密发送给服务器。4.服务器使用私钥对随机数字3解密。5.服务器端和客户端通过事先协商好的加密算法,对这三个随机数进行加密生成“对话秘钥”(session key)即对称加密的秘钥,用于接下来整个对话过程的加密。
http协议无状态协议以及解决方案http本身是一种无状态协议
无状态协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息也就是说,当客户端一次HTTP请求完成以后,客户端再发送一次HTTP请求,HTTP并不知道当前客户端是一个”老用户“。
可以使用Cookie来解决无状态的问题,Cookie就相当于一个通行证,第一次访问的时候给客户端发送一个Cookie,当客户端再次来的时候,拿着Cookie(通行证),那么服务器就知道这个是”老用户“。
http与https的区别HTTP的URL以http:// 开头,而HTTPS 的URL 以https://开头HTTP是不安全的,而HTTPS是安全的HTTP标准端口是80 ,而HTTPS的标准端口是443在OSI网络模型中,HTTP工作于应用层,而HTTPS的安全传输机制工作在传输层HTTP无法加密,而HTTPS对传输的数据进行加密HTTP无需证书,而HTTPS需要CA机构wosign的颁发的SSL证书
计算机语言
未读C++中的constexprhttps://blog.csdn.net/m0_52902391/article/details/120308866https://zhxilin.github.io/post/tech_stack/1_programming_language/modern_cpp/cpp17/constexpr/#c14-constexpr
常量表达式值不会改变且在编译期就能得到计算结果的表达式。字面值属于常量表达式,用常量表达式初始化的const对象也是常量表达式。
constexpr 与 const在定义常量时,const 和 constexpr 是等价的,都可以在程序的编译阶段计算出结果 都为常量表达式但是const可以修饰函数的传入参数为只读(并非常量),而constexpr无法修饰
12345678910111213141516 // errorvoid func1(constexpr int p) {}// okvoid func2(const int p) {}void func3(const int p) ...
kafka日常操作kafka查看数据查看所有topic1./kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --list
查看所有group1./kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --list
查看指定topic的订阅信息1./kafka-topics.sh --describe --zookeeper 127.0.0.1:2181 --topic XXXXX
消费指定group的订阅信息1./kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --group XXXXX --describe
查看从当前当前开始到结束,kafka中指定topic接收到的信息1./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic XXXXX
查看所有kafka中接收到的信息1./kafka-console-consume ...
URIURI是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。就是由某个协议方案表示的资源的定位标识符。协议方案是指访问资源所使用的协议类型名称。采用HTTP协议时,协议方案就是http。除此之外,还有ftp、mailto、telnet、file等。
Web上可用的每种资源如HTML文档、图像、视频片段、程序等都是一个来URI来定位的
URI一般由三部组成:①访问资源的命名机制②存放资源的主机名③资源自身的名称,由路径表示,着重强调于资源。URLURL是uniform resource locator,统一资源定位器,表示资源的地点。可见 URL是 URI 的子集。URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。
URL一般由三部组成:①协议(或称为服务方式)②存有该资源的主机IP地址(有时也包括端口号)③主机资源的具体地址。如目录和文件名等
计算机网络
未读http的作用和RPCHTTPHTTP是一个协议,超文本传输协议,它基于TCP/IP来传输文本、图片、视频、音频等。HTTP不提供数据包的传输功能,也就是数据包从浏览器到服务端再来回的传输和它没关系,这些是TCP/IP负责。传输信息需要一种格式,http规定了一种通信格式,让任何服务器和客户端之间都能顺利交流,减少交互成本。http协议的格式很像我们的信封,有个固定的格式。所以其本质上就是客户端和服务端约定好的一种通信格式。
RPCrpc 是应用层由用户自己在制定的协议
HTTP和RPC区别HTTP指的是通信协议。而RPC则是远程调用协议,其对应的是本地调用。RPC的通信可以使用用HTTP协议,也可以自定义协议,是不做约束的。
那为什么要有RPC?为什么要用RPC,直接使用WebClient HTTP调用不行么。其实RPC调用是因为服务的拆分,或者本身公司内部的多个服务之间的通信。服务的拆分独立部署,那服务间的调用就必然需要网络通信,用WebClient调用当然可行,但是比较麻烦。我们想即使服务被拆分了但是使用起来还是和之前本地调用一样方便。所以就出现了RPC框架, ...
计算机网络
未读http的常用方法GET用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器。只请求服务端的数据,但是没有改变数据。
POST用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。比如上传一篇博客用的post会改变服务器端的数据。
PUT传输文件,报文主体中包含文件内容,保存到对应URI位置。
HEAD获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。
DELETE删除文件,与PUT方法相反,删除对应URI位置的文件。
OPTIONS查询相应URI支持的HTTP方法。
get和post的区别https://www.cnblogs.com/logsharing/p/8448446.htmlGET在浏览器回退时是无害的,而POST会再次提交请求。GET产生的URL地址可以被Bookmark,而POST不可以。GET请求会被浏览器主动cache,而POST不会,除非手动设置。GET请求只能进行url编码,而POST支持多种编码方式。GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。GET ...
计算机网络
未读数据在五层网络中的传输https://mp.weixin.qq.com/s?__biz=Mzg2NzA4MTkxNQ==&mid=2247485105&idx=1&sn=c045b7599c1637776dd89890cac5a9b5&chksm=ce404d65f937c4736257f0795a0243a5cbe3526d88013074277fa2f44fa809e76f0330796bee&scene=21#wechat_redirect
五层网络模型中,自底向上的讲解一台计算机是如何找到另外一台计算机并且把数据发送给另一台计算机的。
1.物理层计算机之间要进行通信,第一件事当然是通过光纤,电缆,双绞线等介质把计算机互相连接起来。物理层就是负责把两台计算机连起来,然后在计算机之间通过高低电频来传送0,1这样的电信号。
2.数据链路层 传输的叫帧物理层传输的0,1电信号如果毫无规则的话,计算机是解读不了的。因此我们需要制定一套规则来进行0,1的传送。例如多少个电信号为一组啊,每一组信号应该如何标识等等。于是,有了以太网协议。
(1).以太网 ...
计算机网络
未读对称加密技术原理:文件加密和解密使用相同的密钥特点:使用起来简单快捷,密钥较短,加密效率高。
对称加密算法存在几个问题:1、要求提供一条安全的渠道使通讯双方在首次通讯时协商一个共同的密钥。2、密钥的数目难于管理。因为对于每一个合作者都需要使用不同的密钥。3、对称加密算法一般不能提供信息完整性的鉴别。它无法验证发送者和接受者的身份。4、对称加密是基于共同保守秘密来实现的,如果一方泄露那么加密信息也就不安全了。常用算法:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK
非对称加密技术原理:对称加密算法需要两个密钥,公开密钥(publickey)和私有密钥(privatekey)。如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。
特点:算法强度复杂,速度远低于对称加密,安全性高。使用过程:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。甲方只能 ...
计算机网络
未读子网掩码子网掩码它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
计算方式根据子网数:如欲将B类IP地址168.195.0.0划分成27个子网:
1231)27=11011 2)该二进制为五位数,N=5 3)将B类地址的子网掩码255.255.0.0的主机地址前5位置1(B类地址的主机位包括后两个字节,所以这里要把第三个字节的前5位置1),得到 255.255.248.0即为划分成27个子网的B类IP地址 168.195.0.0的子网掩码(实际上是划成了32-2=30个子网)。
根据主机数如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:
123451) 700=1010111100 2)该二进制为十位数,N=10 3)将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255 然后再从后向前将后10位置0,即为:11111111.11111111.11111100.00000000即25 ...







