【杂谈】网络修复杂谈

前言

断网,是仅次于断水、断电的危机,对于部分依赖于网络的人来说,可能重要性更加突出。这里主要谈一谈网络修复的方法与一些常见的故障。

正题

首先要知道怎么修复网络,就需要大致了解网络的运作方式,正如一个能够装机的人要会拆机、能够做网络防御的人要懂得网络攻击的原理。这里主要通过对几个名词的解析来大致描述网络的运作方式。

由于这里只打算大致讲一下网络的工作方式,过多的说明可能比不上形象的比喻。这里,我们把网络比作一个小区,假设这个小区每个房子都被编上了号码,可以通过这个号码快速、方便的找到对应的房间,然后每个房间都有一个名字,譬如说“花果山小区水帘栋王者之户”,这里我们特地不包含数字进去(现实中都是有编号的),是为了说明根据这个名字我们难以进行快速、准确的查找到指定的房间。如果这个房子主人没有换那么我们就能找到正确的要找的人,然而如果换了呢?那么我们可以通过房间主人的身份证进行确认,只要身份证不是伪造的或者别人的,那么找到的就是正确的。

这里,类比到网络中,我们的房间名“花果山xxx”就是一个主机名,房间的编号就是一个IP地址,而身份证则是对应的物理地址。

物理地址是有硬件自身因素决定的,一般不会变而且唯一,就像身份证一样,国家发行的,发了以后身份证号就不会变了。而ip地址则是电脑动态或者静态注册的,需要通过局域网相关服务器(DHCP服务器)的认证,就像你拿着身份证去办房产证一样,动态就是问业务员给我随便来一套舒服的房间,房间号由业务员“智能”分配,而静态则是“业务员,我就要着一个号码,铁了心了,别的都不要”。这实际上是ip的两种获得的途径,同时也引入DHCP服务器的概念(干什么吃的?管理分配ip的)。如果对自己的房间号不满意可以要求退了这个房间(退房无条件成立),然后换一个,因此这里可以看到,ip地址来确定一台电脑是暂时性的,譬如说一个满载的wifi上一个客户端断线,另外一个马上连上补上空缺,那么那个ip就更换了主人,就像你退房了,然后别人住进了这个房间,房间“易主”了。而主机名呢,则是你给自己的主机起的一个“独一无二”的名字(或者说在当前局域范围内保证不会与其他可达主机同名),为了确保独一无二,需要进行“注册”,譬如说服务器的域名注册,比如说www.baidu.com。

但是我们又知道,去访问一个网站是可以通过域名直接访问的,就像通过房间的名字可以找到房间,但是这个过程是怎么实现的呢?为了保证能高效查找,我们可以建立一个映射表,一个房间号对应一个房间编号(事实上就是这么做的),一个域名则是对应一个ip,通过域名可以直接找到ip,有了ip就可以方便快速的找到主机建立连接了。但是要不要每个计算机都用一个超大的表去存储“域名——ip”这个键值对呢?这样显然会造成巨大的浪费,而且在映射更新时(有的ip换域名了或者域名绑定了新的ip之类的)要发送大量的数据包,因为存在许多公共的键值对,只要存储在一个公共的地方就好了,这个地方对于所有计算机公开可访问,好的,于是DNS服务器就这样诞生了:我们使用一台dns服务器负责一片区域的主机的“域名——ip”映射关系,只要丢域名进去查询,就会返回对应的ip地址,这个过程有个专业的术语(DNS解析)。另一方面,我们有一些非公用的域名和ip对,或者想要获得与DNS服务器不同的映射关系,因此,我们需要一个文

资源下载链接为: https://pan.quark.cn/s/f989b9092fc5 HttpServletRequestWrapper 是 Java Servlet API 中的一个工具类,位于 javax.servlet.http 包中,用于对 HttpServletRequest 对象进行封装,从而在 Web 应用中实现对 HTTP 请求的拦截、修改或增强等功能。通过继承该类并覆盖相关方法,开发者可以轻松地自定义请求处理逻辑,例如修改请求参数、添加请求头、记录日志等。 参数过滤:在请求到达处理器之前,可以对请求参数进行检查或修改,例如去除 URL 编码、过滤敏感信息或进行安全检查。 请求头操作:可以修改或添加请求头,比如设置自定义的 Content-Type 或添加认证信息。 请求属性扩展:在原始请求的基础上添加自定义属性,供后续处理使用。 日志记录:在处理请求前记录请求信息,如 URL、参数、请求头等,便于调试和监控。 跨域支持:通过添加 CORS 相关的响应头,允许来自不同源的请求。 HttpServletRequestWrapper 通过继承 HttpServletRequest 接口并重写其方法来实现功能。开发者可以在重写的方法中添加自定义逻辑,例如在获取参数时进行过滤,或在读取请求体时进行解密。当调用这些方法时,实际上是调用了包装器中的方法,从而实现了对原始请求的修改或增强。 以下是一个简单的示例,展示如何创建一个用于过滤请求参数的包装器: 在 doFilter 方法中,可以使用 CustomRequestWrapper 包装原始请求: 这样,每当调用 getParameterValues 方法时,都会先经过自定义的过滤逻辑。 HttpServletRequestWrapper 是 Java Web 开发中一个强大的工具,它提供了灵活的扩展性,允许开发者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值