![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络
文章平均质量分 93
沉着的码农
一个沉着的码农
展开
-
【Java】应用层协议HTTP和HTTPS
签名在一定程度上区分不同的数据,常见的生成签名的算法有MD5和SHA系列以MD5为例,它的特点是定长:无论多长的字符串,计算出来的MD5值都是固定长度(16字节或者32字节)分散:源字符串只要改变一点点,最终得到的MD5值都会差别很大不可逆:通过原字符串生成MD5很容易,但是通过MD5还原成源字符串理论上来说是不可能的所以我们认为,如果两个字符串的MD5值相同,就认为这两个字符串相同如何判定证书是否被篡改呢?假设我们传入字符串1,根据这个字符1计算出hash1。原创 2023-09-17 22:41:42 · 791 阅读 · 0 评论 -
【Java】网络层协议IP协议
为了解决这个问题,引入了更大的IPv6(Internet Protocol version 6)地址空间,它采用128位二进制数表示,例如 2001:0db8:85a3:0000:0000:8a2e:0370:7334。扩展的地址空间:IPv6采用128位地址格式,相对于IPv4的32位地址,IPv6的地址空间大大扩展,理论上可以支持约340万亿亿亿亿(3.4×10^38)个不同的地址。节省公共IP地址:通过使用私有IP地址和NAT机制,多个设备可以共享少量的公共IP地址,从而避免了IP地址的浪费。原创 2023-09-10 10:16:02 · 169 阅读 · 0 评论 -
【Java】传输层协议TCP
ACK是0表示这是一个普通报文,此时只有32位序号是有效的,32位确认序号是无效的ACK是1表示这是一个应答报文,这个报文的序号和确认序号都是有效的。原创 2023-09-08 20:55:46 · 737 阅读 · 0 评论 -
【Java】传输层UDP
再网络传输中,数据往往是通过光信号,电信号,电磁波作为介质来传播的,如果此时遭受到了一些磁场或者高能粒子射线等能够影响这些信号传播,此处数据就会出现错误,可能会导致出现。CRC(Cyclic Redundancy Check,循环冗余校验)是一种常用的错误检测技术,用于验证数据在传输或存储过程中是否发生了错误或篡改。UDP具有接收缓冲区,但是这个接收缓冲区不能保证收到的UDP报的顺序和发送UDP报的顺序一致;应用层交给UDP多长的报文,UDP原样发送,既不会拆分,也不会合并;UDP传输的过程类似于寄信。原创 2023-09-06 20:22:09 · 511 阅读 · 0 评论 -
【Java】自定义协议
自定义协议是指针对特定需求或应用场景而设计的网络通信协议,它不同于常见的标准协议(如HTTP、FTP等),而是根据具体需要进行个性化开发。自定义协议可以满足一些特定的需求,例如提升通信效率、增强安全性、适配特殊硬件等。以下是设计自定义协议的一般步骤:确定需求和目标:明确自定义协议的目的、应用场景和要解决的问题。例如,如果希望在低带宽环境下传输大量数据,可以考虑设计一种高效的压缩算法。定义协议格式:确定自定义协议的数据格式,包括消息头、消息体以及可能的附加信息。这些格式应考虑到协议的可扩展性和兼容性。原创 2023-09-06 19:24:07 · 635 阅读 · 0 评论 -
【Java】网络编程
第三步接收端创建DatagramSocket,通过DatagramPacket构造出一个存放数据报的空间,通过socket.receive()方法来接受一个UDP数据报,对于并发要求很高的服务端系统来说,这样的消耗是不能承受的。不管是客户端还是服务端Socket,都是双方建立连接以后,保存的对端信息,及用来与对方收发数据的。一次阻塞等待对应着一次请求、响应,不停处理也就是长连接的特性:一直不关闭连接,不停的处理请求。无连接,不可靠传输,面向数据报,有接收缓冲区,无发送缓冲区,大小受限,一次最多64k。原创 2023-09-05 13:11:44 · 612 阅读 · 0 评论 -
【Java】网络通信基础
对于使用方来说,并不关心提供方是如何实现的,只需要使用接口即可对于提供方来说,利用封装的特性,隐藏了实现的细节,只需要开放接口即可。原创 2023-09-03 22:18:37 · 219 阅读 · 0 评论