网络编程
张紫娃
这个作者很懒,什么都没留下…
展开
-
什么是ping
机器A ping 机器B,机器A会发送echo request(回显请求),主机B收到后会回发echo reply(回显应答)。通过回复的数据来判断网络是否相同,以及时延是多少。ping命令的原理基于ICMP(Internet Control Message Protocol)协议,这是一种网络层协议。探测本机与网络里另一主机是否已建立连接,常用语检测网络是否畅通,获取连接速度等信息。原创 2024-03-17 13:43:53 · 362 阅读 · 0 评论 -
什么是URI
统一资源标识符,用来唯一标识互联网上资源的一个字符串。它可以用来定位任何类型的资源,包括网页、图片、文件、视频、服务等。原创 2024-03-17 13:00:02 · 1033 阅读 · 0 评论 -
什么是HTTP?
超文本传输协议,它是基于TCP/IP协议的应用层协议,规定了客户端如何向服务器发请求,以及服务器如何响应这些请求。原创 2024-03-17 12:58:50 · 339 阅读 · 0 评论 -
【学习总结】什么是DNS?
DNS(Domain Name System,域名系统)是一个分布式数据库系统,它在互联网上提供将易于记忆的域名与IP地址相互映射的服务。其主要功能是将人们能够理解的域名(如www.example.com)转换为计算机网络可以识别和路由的IP地址(如192.0.2.1)。世界上每台计算机都有一个IP地址,这样大家可以互相找到对方,进行通信。但是,110.242.68.5这样的IP地址太难记了,所以,人类又发明了域名。原创 2024-02-27 18:44:00 · 733 阅读 · 0 评论 -
【学习总结】什么是弹性负载均衡? LB和ELB的区别
传统的负载均衡器可以是硬件设备,也可以是软件解决方案,其基本目标是将客户端请求均匀或智能地分发到后端的一组服务器上,以提高系统的可用性和响应速度。多种协议支持:除了基础的TCP/UDP负载均衡外,还支持HTTP/HTTPS等应用层协议的负载均衡,例如AWS的Application Load Balancer (ALB) 可以根据URL路径、主机头信息等内容来路由请求。总结来说,LB 是一个通用概念,而 ELB 是具有更高可伸缩性、智能化管理和自动化运维特点的云服务产品,专为适应现代云计算架构的需求而设计。原创 2024-02-27 15:22:44 · 1094 阅读 · 0 评论 -
What is `Filter` does?
过滤器(Filter)是Java Servlet规范中的一部分,它提供了一种在请求到达目标资源之前或响应发送给客户端之前进行预处理和后处理的能力。通过编写自定义的过滤器类并将其注册到Web应用程序中,开发者可以实现诸如登录验证、权限控制、字符编码转换、敏感信息过滤、性能监控等多种功能。使用样例:一个简单的Servlet过滤器示例。原创 2024-01-24 23:03:34 · 393 阅读 · 0 评论 -
What is `ContentCachingRequestWrapper` does?
解决了这个问题,通过在第一次读取请求体时将数据复制到一个缓冲区中,后续对请求体的读取操作会从这个缓冲区而不是原始输入流中获取数据。这样就允许开发者多次读取请求体而不会抛出异常,并且保持了请求体数据的一致性。) 只能被读取一次,如果需要多次访问请求体内容(比如在进行过滤、校验或转发请求时),就会遇到问题。时,通常是在应用的前置处理器、拦截器或者过滤器中创建并替换原来的。实例,以便在后面的处理流程中安全地重复访问请求体内容。通常在处理 HTTP 请求时,原生的。类,用于缓存请求体的内容。原创 2024-01-24 22:35:01 · 529 阅读 · 1 评论 -
什么是通配监听端口? 什么是通配监听IP?
TCP/IP协议下每个端口只能由一个服务独占监听,一个服务或应用会指定监听特定的一个或多个端口来接收客户端的连接请求。则是指服务器配置为接收来自哪些网络接口(即哪些IP地址)上连接请求的行为。指的是服务器或服务开启的特定TCP或UDP端口号,等待客户端连接或发送数据。在计算机网络和TCP/IP协议中,并没有“通配监听端口”这一标准概念。,这意味着服务器将监听所有可用网络接口上的连接请求。什么是通配监听端口?什么是通配监听IP?”时,如在IPv4中的。原创 2024-01-22 11:10:40 · 1999 阅读 · 0 评论 -
如何唯一标识一个进程
进程ID (PID):每个运行中的进程都有一个全局唯一的整数标识符,称为进程IDPID由内核分配,并在整个系统范围内保持唯一。在shell中输入echo $$来查看当前shell的进程ID,或者使用ps命令查看所有进程及其PID。网络通信中的进程标识:网络层的ip地址可以唯一标识网络中的主机传输层的端口+协议可以唯一标识主机中的应用程序(进程),这样利用三元组就可以标识网络的进程。例如,TCP/IP协议中,(主机A, 端口X, TCP)就可以唯一标识主机A上监听端口X的某个TCP服务进程。原创 2024-01-21 21:47:24 · 901 阅读 · 0 评论 -
HttpServletRequest getHeader、getHeaders、getIntHeader、getDateHeader区别
HttpServletRequest getHeader、getHeaders、getIntHeader、getDateHeader区别原创 2024-01-21 21:44:25 · 892 阅读 · 0 评论 -
InetAddress isSiteLocalAddress,isLoopbackAddress,isLinkLocalAddress,getLocalHost() 区别
所有可用网络接口上的连接请求,或者在不知道目标的具体地址时作为发送数据包的目标地址。环回地址是指主机用于自身通信的特殊地址,如IPv4中的127.0.0.1或IPv6中的::1。在智能家居系统中,各智能设备可能在初始化阶段或网络条件复杂无法获得公网地址时,通过链路本地地址进行局域网内的控制消息交换和服务发现。站点本地地址是IPv6和较早版本的IPv4私有地址空间的一部分,它被设计用于。,可能是公网地址、内网地址或者是环回地址,具体取决于系统配置和网络设置。在IPv6中,它表示的是特定的地址块,例如。原创 2024-01-20 14:21:11 · 526 阅读 · 0 评论 -
What is `NetworkInterface` does?
比如 eth0、wlan0(Linux)或 Ethernet、Wi-Fi(Windows)等。最大传输单元(Maximum Transmission Unit)接口可能关联有多个IPv4或IPv6地址。包括主机地址、子网掩码、广播地址等。是全球唯一的,用于唯一标识网络适配器。接口发送和接收的数据包数量、错误计数等。每个网络接口都有一个唯一的标识符。对象包含了与特定网络接口关联的信息。指示网络接口当前是否处于活动状态。(如已启用/禁用、连接/断开等)接口相关的路由条目原创 2024-01-20 00:05:46 · 405 阅读 · 0 评论 -
HttpServletRequest HttpEntity StringEntity 区别
HttpServletRequest HttpEntity StringEntity 区别原创 2024-01-19 10:53:42 · 552 阅读 · 0 评论 -
HttpServletRequest getRemoteAddr()、getLocalAddr()区别
HttpServletRequest getRemoteAddr()、getLocalAddr()区别原创 2024-01-19 10:28:42 · 723 阅读 · 0 评论 -
HttpServletRequest getQueryString()、getParameterMap()区别
HttpServletRequest getQueryString()、getParameterMap()区别原创 2024-01-19 10:27:38 · 533 阅读 · 0 评论 -
HttpServletRequest getContextPath(),getRequestURI() ,getServletPath() ,getPathInfo()区别
getContextPath(),getRequestURI() ,getServletPath() ,getPathInfo()区别原创 2024-01-18 14:19:15 · 526 阅读 · 0 评论 -
HttpServletRequest getRemoteHost()、getServerName()、getLocalName()区别
getRemoteHost()、getServerName()、getLocalName()区别原创 2024-01-18 14:18:01 · 1146 阅读 · 0 评论 -
HttpServletRequest getServerPort()、getLocalPort() 、getRemotePort() 区别
request.getServerPort()、request.getLocalPort() 和 request.getRemotePort() 这三个方法都是获取与HTTP请求相关的端口信息的原创 2024-01-17 23:06:06 · 792 阅读 · 0 评论 -
在SpringBoot中注册过滤器几种方式
在Spring Boot中注册过滤器主要的几种方式原创 2024-01-17 11:12:25 · 657 阅读 · 0 评论 -
What is `GenericFilterBean` does?
由于它是一个 Spring Bean,因此可以方便地利用 Spring 的依赖注入(DI)特性来管理其他服务和资源。开发人员只需关注业务过滤逻辑的实现,即可轻松地将自定义的过滤功能整合到基于 Spring 的 Web 应用程序中。启动时能正确初始化,在应用关闭时能释放资源。接口,提供了自动化的初始化 (进行了封装和扩展,它简化了在。能够获取到运行时环境变量和。中提供的一个抽象基类,其对。下创建自定义过滤器的工作。) 生命周期方法,使得在。原创 2024-01-17 08:28:08 · 376 阅读 · 0 评论 -
What is `HttpServletRequestWrapper` does?
是中的一个类,作为的包装器(Decorator)实现。该类设计为)的一部分,允许开发人员通过包装现有的来定制或修改请求行为。比如:过滤或修改请求参数转换请求体数据添加或删除请求头信息实现请求级的安全控制,如防止 XSS(跨站脚本攻击)或 SQL 注入等安全风险修改请求URI或其他请求属性。原创 2024-01-16 23:05:23 · 664 阅读 · 0 评论 -
啥是子网掩码
IP地址是计算机在网络内的唯一标识,而子网掩码顾名思义是用于划分子网的。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码由连续的1和0组成,连续的1表示网络地址,连续的0表示主机地址。将某个IP地址划分成网络地址和主机地址两部分。原创 2023-12-30 23:31:42 · 393 阅读 · 0 评论 -
TCP三次握手四挥手,端口状态
服务器 在收到连接请求时将标志位 ACK和 SYN 置1发送给客户端(握手的第二步),但是这些客户端的IP地址都是伪造的,服务器根本找不到客户机,也就是说握手的第三步不可能完成。一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源----数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。报文,因此不能一起发送。原创 2023-04-15 23:53:06 · 436 阅读 · 0 评论 -
CloseableHttpClient 中各参数的意思
【代码】CloseableHttpClient 中各参数的意思。原创 2023-12-06 18:51:12 · 457 阅读 · 0 评论 -
[实践总结] 使用Apache HttpClient 4.x进行进行一次Http请求
/原创 2023-12-06 18:46:51 · 897 阅读 · 0 评论 -
网络编程专题
java.net.UnknownHostException 解决方法啥是环回地址?如何用环回地址测试电脑遇到无法上网的情况?如何获取本机在局域网中的IP地址?网络编程常用方法InetAddress 方法学习Linux下/sysconfig/network、hosts、host.conf、resolv.conf文件解释网络性能的四大指标:带宽、时延、抖动、丢包网络编程 端口状态都有哪些?什么是Socket? Socket的三次握手,四次挥手是什么过程?原创 2023-12-06 00:05:35 · 426 阅读 · 0 评论 -
RequestConfig配置类中各参数的意思
【代码】RequestConfig配置类中各参数的意思。原创 2023-11-21 22:51:05 · 209 阅读 · 0 评论 -
网络性能的四大指标:带宽、时延、抖动、丢包
例如,我发了6个包给百度服务器,4个包被接收了,2个包丢失了,那么丢失率就等于。在网络世界里,多指数字信号,在规定的时间内,从一端传输到另一端的数据量,即。时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延。评价网络稳定性,离不开抖动这个指标,越小的抖动,网络越稳定。A的报文到达B,需要6毫秒才能完成,即,时延 = 6ms。快递从深圳发出寄到北京需要1天,那么时延就等于1天。你如果说这个网络很好,那里的网络有点差!,更大的单位是:Kb、Mb、Gb等;,更大的单位有:KB、MB、GB等;原创 2023-08-31 21:59:53 · 1456 阅读 · 0 评论 -
InetAddress 方法总结
【代码】InetAddress 方法介绍。原创 2023-08-22 20:55:09 · 465 阅读 · 0 评论 -
Linux下/sysconfig/network、hosts、host.conf、resolv.conf文件解释
用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序。该文件由域名解析器来读取(下面会有Java代码示例)此方法不管是windows or Linux,亦不管是开启了vpn与否,都会获取正确结果。原创 2023-08-22 20:17:30 · 504 阅读 · 0 评论 -
[实践总结] 网络编程 UriUtils
【代码】网络编程常用方法。原创 2023-08-22 20:13:56 · 72 阅读 · 0 评论 -
[实践总结] 如何获取本机在局域网中的IP地址?
在使用 Java 开发网络程序时,有时候我们需要知道本机在局域网中的 IP 地址。很常见的一种做法是调用本地命令(比如 Windows 上的 ipconfig 命令和 Linux 上的 ifconfig 命令),接着解析本地命令的输出,最后得到本机在局域网内的 IP 地址。很明显,这种做法不够方便,也不够 Java。此方法不管是windows 还是 Linux,亦或开启了vpn与否,都OK。NetworkInterface 表示一个。的网络接口,而一个网络接口通常由一个。的网络接口,也可以是一个。原创 2023-08-22 20:02:18 · 831 阅读 · 0 评论 -
[实践总结] 电脑无法上网时,如何用环回地址快速定位故障位置?
✅,但还不能上网,说明路由器❌有问题 或 路由器之外❌的问题(联系运营商解决)。上文有点绕,那是老江湖的二分排查法,咱们也可以如下按部就班的一步一步排查就好。❌之间出现问题,广播域內部有问题。❌出现问题,需要检查一下系统是否出现问题。正常✅, 进而排除自己电脑的问题。3.2、如果ping不通,说明。✅之间的链路没有问题,进而说明。3.1、如果ping通,说明。❌之间的链路出现问题 或。❌的链路出现问题 或。原创 2023-08-21 13:08:27 · 302 阅读 · 0 评论 -
啥是环回地址?
同一台主机上的两项服务若使用环回地址而非分配的主机地址,就可以绕开 TCP/IP 协议栈的下层。在TCP/IP Illustration中说到对于大多数的实现,在网络层和传输层还是要经过完整的处理过程,只有在IP数据报离开网络层的时候才返回给自己。也提供了特殊环回地址以供测试使用,不过,IPv6 中用于此功能的地址只有一个,而不是一个地址块。此地址块中的任何地址都将环回到本地主机中。环回地址是主机用于向自身发送通信的一个特殊地址,发送到此地址的数据报会环回到发送设备。的环回地址是保留地址之一。原创 2023-08-21 12:27:39 · 2147 阅读 · 0 评论 -
java.net.UnknownHostException 解决方法
1、服务器没网,调不到公网域名,无法解析出IP,从而无法识别host,导致无法连接;第4步:修改hosts文件,把域名和IP写到hosts文件中,用于把域名解析成IP。即使服务器没网,单点登录服务在同一个内网,那么网络也是通的。2、网络端口映射做了策略,调用不到自己路由的域名,必须调内网IP;第6步:完成,这样就可以调到CSDN域名下的接口了。,需要在hosts文件中把接口的。写上,在服务器发送求时,就会。第1步:用有互联网的机器。第3步:打开hosts文件。Windows:一般在。域名/IP的映射关系。原创 2023-08-21 12:19:15 · 13934 阅读 · 0 评论