网络
Fly_Fly_Zhang
初学java
展开
-
网络-TCP/UDP详解
TCP释义:TCP头部信息字段释义:源端口号(Source Port)以及目的端口号(Destination Port):各占2个字节,端口是传输层和应用层的服务接口,用于寻找发送端和接受端的进程,一般来讲,通过端口号和IP地址,可以唯一确定一个TCP连接,在网络编程中,通常被称为一个socket接口。序号(Sequence Number ,seq):占四个字节,用来标识从TCP发送端...原创 2019-05-19 16:41:44 · 1118 阅读 · 0 评论 -
HTTPS你知多少?
概述http有以下安全性问题:使用明文进行通信,内容可能会被窃听;不验证通信方的身份,通信方的身份可能遭到伪装。无法证明报文的完整性,报文有可能遭篡改。https并不是新协议,而是让http先和ssl进行通信,再由ssl和tcp进行通信,也就是说https使用了隧道进行通信。通过使用ssl,https具有了加密(防窃听),认证(防伪装)和完整性保护(防篡改)加密1,对称密钥加...原创 2019-10-03 19:12:36 · 389 阅读 · 0 评论 -
网络-select/poll/epoll详解
概述:epoll和select都能提供多路IO复用的解决方案。在现在的linux内核里都能够被支持。epoll是linux所特有,而select则是POSIX所规定的,一般操作系统均有实现 。select:select原理::select函数监视的文件描述符分三类,分别是writefds,readfds,exceptfds 。调用select函数后会阻塞。直到有描述符就绪(有数据可读,可写...原创 2019-06-09 19:20:05 · 824 阅读 · 0 评论 -
网络-TCP网络通信中的粘包&拆包问题以及netty框架中的解决办法
TCP粘包&拆包问题来源TCP是一个流协议,就是没有界限的一串数字。TCP并不关心上层业务数据的具体含义,它只会根据TCP缓冲区的实际情况进行包的划分。因此,在业务上,一个完整的包是可能会被TCP拆分成多个包进行发送的(拆包),也有可能把多个小的包封装成一个大的数据包进行发送(粘包)。TCP粘包&拆包问题图解假设客户端分别发送了两个数据包D1和D2给server,由于ser...原创 2019-06-14 14:54:52 · 1197 阅读 · 5 评论 -
网络-java中AIO(异步非阻塞)理解与应用
AIO(Asynchronous IO/异步非阻塞IO)概述:是NIO的2.0版本,AIO是jdk1.7之后提供的,需要借助于本地操作系统(unix/liunx提供的异步IO模型)。AIO最大的一个特性就是异步能力,这种能力对socket与文件IO都起作用。AIO其实是一种在读写操作结束之前允许进行其它操作的IO处理,AIO是对jdk1.4中提出的同步非阻塞NIO的进一步增强。AIO对应IO...原创 2019-06-13 17:05:01 · 1619 阅读 · 3 评论 -
网络-java中BIO(同步阻塞模型)的理解与应用
BIO通信模型BIO通信服务端,通常有一个独立的Acceptor线程负责监听客户端的连接。接收到客户端连接请求后会为每个客户创建一个新的线程进行链路处理,处理完成后返回应答给客户端,也就是经典的请求-应答 通信模型。 但是随着客户端并发数量上升,服务端的线程膨胀,系统性能急剧下降,最终会导致系统不可用。缺点:无法满足高并发,高性能的场景。因为它每一个连接就会创建一个新的线程,而创建线程是...原创 2019-05-22 20:09:10 · 980 阅读 · 0 评论 -
网络-Java中NIO详解(Buffer/Selector/Channel三大组件原理)
NIO(non-blocking IO)概述:BIO为jdk1.4及以上版本里提供的新api ,为所有原始类型(boolean除外) 提供缓存支持的容器。NIO服务器实现模式为所有请求一个线程,即客户端发送的连接请求都会被注册到多路复用器上,多路复用器轮询到连接有IO请求时才启动一个线程进行处理。 这句话有问题NIO主要想解决的是BIO的大并发问题: 在使用同步IO的网络应用中,如果要同...原创 2019-05-26 17:35:53 · 2183 阅读 · 2 评论 -
网络-OSI模型和TCP/IP模型
什么是计算机网路:计算机网络是通过传输介质,通信设施和通信协议,将分散在不同点的计算机设备互联起来实现资源共享和数据传输的系统。什么是网络编程:网络编程就是编写程序是联网的两个或者多个设备直接进行传输。网络分层模型: OSI: 应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。 TCP/IP: 应用层,传输层,网络层,网络接口层。OSI(Open System Int...原创 2019-05-15 22:45:46 · 423 阅读 · 0 评论 -
网络-五种IO模型/同步异步/阻塞非阻塞
网络中获取数据的读操作步骤:等待数据准备。数据从内核空间拷贝到用户空间。同步与异步:同步与异步是针对应用程序与内核的交互而言。也就是上图的read操作,从缓存中读取数据,如果缓存中数据还没有准备好,如果是同步操作,它会一直等待,直到操作完成。如果是异步操作,那么它会去做别的事情,等待数据准备好,内核通知它,它再去读取数据。同步过程中进程触发IO操作并等待或者轮询的去查看IO操作是...原创 2019-05-20 21:15:27 · 2100 阅读 · 6 评论 -
网络-IP协议详解
IP协议来源Internet上连接的所有计算机,我们称其为主机,为了实现各主机间的通信,每台主机都必须有一个唯一的网络地址。这样才不会在传输资料时出现混乱。Internet是由无数台计算机互相连接而成的。我们要确认网络上每一台计算机,靠的就是能唯一标识该计算机的网络地址,这个地址就是IP(Internet Protocol)地址,即用Internet协议语言表示的地址。IP协议的功能 寻...原创 2019-05-19 20:37:33 · 1163 阅读 · 0 评论 -
HTTP-HTTP这些基础知识点你会几个?
基础概念:URL:uri包含url和urn。目前web只有url比较流行。URI: 统一资源标识符URL:统一资源定位符URN:统一资源名称请求和相应报文:请求报文:响应报文:HTTP方法:客户端发送的请求报文 第一行 为请求行,包含了方法字段。get:获取资源当前网络中绝大部分请求是get方法。head: 获取报文首部和get方法一样,但是不返回报文实体的主...原创 2019-10-03 19:11:51 · 389 阅读 · 0 评论