博客
计算机网络基础知识总结:https://www.cnblogs.com/xdyixia/p/9275246.html
正则表达式:正则表达式 – 教程 | 菜鸟教程
二级制安全是什么?二进制安全是什么?_猫玛尼的博客-CSDN博客
今天我们来谈谈Fail-fast和Fail-safe是什么和工作机制:
https://www.cnblogs.com/kubidemanong/articles/9113820.html
什么是URL,URN,URI,你真的了解嘛?
https://www.cnblogs.com/ndos/p/9121288.html
稠密索引与稀疏索引:https://www.cnblogs.com/xidongyu/p/6411575.html
字节流和字符流的区别:https://www.cnblogs.com/wlm-boke/p/8516046.html
隔离技术线程池(ThreadPool)和信号量(semaphore):https://www.cnblogs.com/chihirotan/p/11368520.html
OSI七层模型
博客
常见面试题整理——计算机网络篇(每位开发者必备):常见面试题整理--计算机网络篇(每位开发者必备) - 知乎
- 应用层
- 表示层
- 会话层
- 传输层
- 网络层
- 数据链路层
- 物理层
TCP/IP协议簇
概念性
1.TCP/IP是什么?
TCP/IP(transmission control protocal/internet protocal,传输控制协议/网际协议),是指在多个不同网络间实现信息传输的协议,TCP/IP协议不单单指TCP协议和IP协议,而是指一个由FTP,TCP,SMTP,UDP,IP等协议组成的协议簇,只是因为TCP和IP协议最具有代表性,所以被称为TCP/IP协议。
TCP/IP是internet最基本的协议,其严格来说是一个包含应用层,传输层,网络层,数据链路层在内的四层体系结构。其中应用层主要协议有Telnet,FTP,SMTP等,用来接收来自传输层的数据或者按不同要求与方式将传输数据传输至传输层;传输层的协议主要有UDP、TCP,是使用者使用平台和计算机信息网内部数据结合的通道,可以实现数据传输与数据共享;网络层的主要协议有ICMP、IP、IGMP,主要负责网络中数据包的传送等;而数据链路层,主要协议有ARP、RARP,主要功能是提供链路管理错误检测,对不同通信媒介有关信息细节问题进行有效处理等。
2.OSI七层模型常见的各层协议
- 应用层(应用程序):
- FTP(File Transfer Protocal)、
- SMTP(Simple Mail Transfer Protocal)、
- HTTP(Hyper Text Transfer Protocal)、
- RPC(Remote Process Call)
- 传输层(进程和端口):(数据段 Segment)
- TCP(Transmission Control Protocal)、
- UDP(User Datagram Protocal)
- 网络层(路由器、防火墙、多层交换机):(数据包 Packet)
- IP(Internet Protocal)、
- ARP(Address Resolution Protocal)地址解析协议、
- RARP(Reverse Address Resolution Protocal)反向地址转换协议、
- ICMP(Internet Control Message Protocal)、网络控制报文协议
- IGMP(Intenet Group Management Protocal)网络群组管理协议
- 数据链路层(网卡、网桥、交换机):(帧 Frame)
- PPP(Point-to-Point Protocal)、点到点协议
- CSMA/CD(Carrier Sense Multiple Access with Collision Detection)、载波监听多路访问
- ARQ(Automatic Repeat-reQequest)自动重传协议
- 物理层(中继器、集线器、网线、HUB):(比特 Bit)
HTTP
博客
Http中的get请求中参数中含有特殊字符串处理:(UrlEncoder.encode)
https://www.cnblogs.com/digdeep/p/5580959.html
常见的HTTP状态码:https://www.cnblogs.com/xflonga/p/9368993.html
http协议抓包分析:HTTP协议抓包分析_NotFear的博客-CSDN博客
HTTP协议报文解析:HTTP协议报文解析_http报文解析_yutiab69的博客-CSDN博客
GET和POST两种基本基本请求方法的区别:https://www.cnblogs.com/logsharing/p/8448446.html
TCP长链接和短链接究竟是什么?:https://www.cnblogs.com/gotodsp/p/6366163.html
面试官:换人,他连几个TCP参数都不懂:面试官:换人!他连 TCP 这几个参数都不懂
TCP的长连接和短连接(史上最通俗):http的长连接和短连接(史上最通俗!) - 简书
介绍
(HTTP协议是基于请求/响应模式的,因此只要服务端给了响应,此次HTTP链接就结束了,或者说本次HTTP请求就结束了,并不存在长短链接一说。HTTP是网络层的协议,而长短链接是针对传输层的TCP协议的,TCP链接是一个双向的通道,可以保持一段时间不关闭的,因此只有TCP链接才有真正的长短链接。)
d.HTTP请求报文结构
HTTP请求行、请求头、请求体详解_咚浸暖的过去的博客-CSDN博客
HTTP请求结构
- 请求行(请求方法 URL 协议版本) 例如:GET /index.html HTTP/1.1
- 请求头(请求头包含多个属性,格式为“属性名:属性值”,请求头,紧接着请求行之后的部
分,用来说明服务器的附加信息.)
- 请求体(将一个页面表单中的组件值通过param1=value1¶m2=value2的键值对形式编码
成一个格式化串,它承载多个请求参数的数据)
HTTP和HTTPS
十分钟搞懂HTTP和HTTPS协议:十分钟搞懂HTTP和HTTPS协议? - 知乎
Http与Https的区别:
https://www.cnblogs.com/wqhwe/p/5407468.html
区别
- HTTPS协议需要到ca(certificate authority)申请证书,一般免费证书较少,因而需要一定费用。
- HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,HTTP默认是80端口,HTTPS默认是443端口。
- HTTP的连接很简单,是无状态的,信息是明文传输;HTTP协议则是由SSL(Secure socket layer)+HTTP协议构成
的可进行加密传输,身份认证的网络协议,比HTTP协议更安全。
HTTP1.0、1.1、2.0
HTTP1.0和HTTP1.1和HTTP2.0的区别:HTTP1.0和HTTP1.1和HTTP2.0的区别_艾伦lee的博客-CSDN博客
xxxxHub都用上了HTTP/2,它牛逼在哪?xxxxHub 都用上了 HTTP/2 ,它牛逼在哪?
如何优雅的讨论HTTP 1.0/1.1/2.0:如何优雅的谈论HTTP/1.0/1.1/2.0 - 简书
- 1.0与1.1
- 1.0需要keep-alive参数保持长连接,1.1默认支持长连接;
- 1.1支持只发送header部分,如果服务器判断客户端有权限访问,返回100,则客户端继续
发送body,返回401,则客户端停止发送,节省带宽。
- 1.0 header里没有host域,1.1支持host域
- 1.1相比1.0,增加了24个错误状态码
- 1.1和2.0
- 2.0支持多路复用;
- 2.0支持header压缩;
- 2.0时,客户端在想服务端请求数据时,服务器会顺便将客户端需要的一些静态资源也传
送给客户端,客户端在这些资源缓存到本地,待需要时,本地加载,速度较快,一般更适合静态资源的加载。
TCP/UDP
博客
TCP和UDP的最完整的区别:https://www.cnblogs.com/williamjie/p/9390164.html
三次握手——从完成队列和未完成队列谈起:三次握手——从完成队列和未完成队列谈起_LupinLeo的博客-CSDN博客
1.TCP协议和UDP协议的区别:
- TCP面向连接,UDP是无连接的;
- TCP提供可靠传输,UDP是尽最大努力交付,不保证可靠交付;
- TCP面向字节流传输的,UDP是面向报文传输的;
- TCP连接只能是点对点的,UDP支持一对一,一对多,多对一,多对多等交互通信。
2.三次握手、四次挥手
详解TCP连接的三次握手和四次挥手:https://baijiahao.baidu.com/s?id=1654225744653405133&wfr=spider&for=pc
3.TCP可靠的原因:
拥塞控制,慢启动、拥塞避免、快重传以及快恢复:
https://www.cnblogs.com/love-yh/p/7437313.html
4.TCP拥塞控制——慢启动、拥塞避免、快重传、快恢复:
TCP拥塞控制-慢启动、拥塞避免、快重传、快启动_tcp的慢启动_jtracydy的博客-CSDN博客
5.TCP的拥塞控制:
TCP的拥塞控制(详解)_tcp拥塞控制_一颗程序媛0915的博客-CSDN博客
6.TCP/IP常见攻击手段:
Socket
1.TCP,HTTP,SOCKET的关系:
TCP、HTTP、SOCKET的关系_tcp和http关系_指尖上旳世界的博客-CSDN博客
Socket与TCP/UDP的关系:
Socket是java实现数据通信的API,起源于BSD相关的unix,程序中使用其作为进程间通信的方式,即,Socket是API,而TCP,UDP是传输层协议,使用Socket可以实现TCP/UDP通信。
DNS
博客
DNS解析的过程是是什么,求详细的?https://www.cnblogs.com/williamjie/p/9390164.html
常见加密算法
博客
常见加密算法及常见加密算法原理:常见加密算法及常见加密算法原理_十五十六的博客-CSDN博客
常见加密算法简析:https://www.cnblogs.com/tuyile006/p/10873975.html
- 对称加密算法:加密和解密使用同一个密钥;
DES(data encrytion standard):数据加密标准,速度较快,使用加密大量数据的场景
AES(advanced encryption standard):AES是一个使用128为分组块的分组加密算法,分组块和128,192或256位的密钥一起作为输入,对4x4的字节数组上进行操作。
3DES(triple DES):基于DES,对一块数据用三个不同的密钥进行加密,强度更高。
- 非对称加密算法:加密和解密使用不同的不是同一个密钥;发送双方A,B均生成一堆密钥,
然后A将自己的公钥发送给B,B将自己的公钥发送给A,如果A要给B发送消息,则先需要用B的公钥进行加密,然后发送给B,B用自己的私钥进行解密,B向A发消息同理;
RSA:支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的。
DSA(digital signature algorithm):数字签名算法,是一种标准的DSS(数字签名标准),严格来说不算加密算法。
- ECC(elliptic curves cryptography):椭圆曲线密码编码学,与RSA相比,抗攻击性强。
散列算法:主要用于验证,防止信息被修改,具体用途:文件校验、数字签名、鉴权协议
MD5:MD5是一种不可逆的加密算法,它可以将任何字符串加密成一段唯一固定长度的代码。
SHA1:对长度小于264的输入,产生长度为160bit的散列值,抗穷举性更好。
HMAC:利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。
- 其他加密算法:
Base64:
Https: