缓存过滤
① 浏览器缓存 如何走到java filter
HTTP1.1中启用Cache-Control 来控制页面的缓存与否,这里介绍几个常用的参数:
no-cache,浏览器和缓存服务器都不应该缓存页面信息;
public,浏览器和缓存服务器都可以缓存页面信息;
no-store,请求和响应的信息都不应该被存储在对方的磁盘系统中;
must-revalidate,对于客户机的每次请求,代理服务器必须想服务器验证缓存是否过时;
Last-Modified只页面的最后生成时间,GMT格式;
Expires过时期限值,GMT格式,指浏览器或缓存服务器在该时间点后必须从真正的服务器中获取新的页面信息;
上面两个值在JSP中设置值为字符型的GMT格式,无法生效,设置long类型才生效;
下面是设置不缓存的filter代码:
<span style="font-size:24px;">package cn.hncu.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CacheFilter implements Filter {
@Override
public void destroy() {
}</span>
<span style="font-size:24px;">
@Override
public void doFilter(ServletRequest request , ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// 过滤器有很多作用,这个用来设置客户端是否设置缓存的问题,我们这里采用response通知客户端设置不缓存
chain.doFilter(request, response);
HttpServletResponse res=(HttpServletResponse) response;
res.setHeader("expries", "-1");
res.setHeader("pragma", "no-cache");
res.setHeader("cache-control", "no-cache");
/*上面的已经可以设置不缓存,但是还可以设置全面一点:
//不允许浏览器端或缓存服务器缓存当前页面信息。
/* response.setHeader( "Pragma", "no-cache" );
response.setDateHeader("Expires", "-1");
response.addHeader( "Cache-Control", "no-cache" );//浏览器和缓存服务器都不应该缓存页面信息
response.addHeader( "Cache-Control", "no-store" );//请求和响应的信息都不应该被存储在对方的磁盘 response.addHeader( "Cache-Control", "must-revalidate" );*///于客户机的每次请求,代理服务器必须想服务器验证缓存是否过时;
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}
}</span><span style="font-size:18px;">
</span>
下面是设置缓存的过滤器文件
package cn.hncu.filter;
import java.io.IOException;
import java.util.Date;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
public class CacheFilter2 implements Filter {
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest request , ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// 过滤器有很多作用,这个用来设置客户端是否设置缓存的问题,我们这里采用response通知客户端设置缓存
//这里设置缓存1天,以实现让图片、视频类的资源(在过滤器当中配置相应的拦截路径)要求客户浏览器缓存1天)
//拦截路径在web.xml中配置
chain.doFilter(request, response);//先进行请求,返回也会从过这里,返回进行拦截
HttpServletResponse res=(HttpServletResponse) response;
Date d =new Date();
Long time=d.getTime()+60*60*24;
// res.setHeader("expries", ""+time);//这样就设置缓存一天
res.setDateHeader("expries", time);//和上面一句一样
/*
* Date date = new Date();
response.setDateHeader("Last-Modified",date.getTime()); //Last-Modified:页面的最后生成时间
response.setDateHeader("Expires",date.getTime()+60*60*24); //Expires:过时期限值
response.setHeader("Cache-Control", "public"); //Cache-Control来控制页面的缓存与否,public:浏览器和缓存服务器都可以缓存页面信息;
response.setHeader("Pragma", "Pragma"); //Pragma:设置页面是否缓存,为Pragma则缓存,no-cache则不缓存
*/
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}
需要注意:上面的filter文件生效需要在web.xml中配置,根据配置的路径来进行过滤。
② 如何防止 DNS 缓存污染
首先你要确定你遇到的问题确实是dns污染造成的.现在一般的vpn在默认设置下连接到了服务器后dns查询都是通过vpn的.如果你用的是chrome的话,在每次连接vpn后它都会自动清除dns缓存,所以不存在dns污染问题.
其次,使用冷门dns也是没用的.墙会在满足
1.发往53端口的dns查询
2.使用udp协议
3.查询中包含关键词
这三个条件时抢先返回一个虚假IP.所以不管冷门与否,只要你使用的是使用53端口udp查询的境外dns服务器,就不可避免的会被dns污染.
如果你只是要解决dns污染的话,我建议你使用
1.goagent的dns功能,它能过滤已知的由GFW返回的虚假IP.
2.Dnsmasq或BIND,自架dns服务器,将经常访问且被污染的域名forward到非标端口.例如opendns的5353端口.
3.使用chengr28/Pcap_DNSProxy · GitHub 这个软件,方法可以去看说明.
还有一些其他方法,但原理都大同小异,都是相当于在本地架设dns服务器以返回正确的ip地址.解决dns污染是正常访问的第一步,但并不能满足你所有的请求,所以你需要配合其他的手段.当然,不喜欢折腾的话买个靠谱的vpn就完事了,几乎是一劳永逸.
③ fiddler怎么清除自身缓存
常用菜单(建议使用快捷键和工具栏):
File,开户暂停捕获会话(F12),会话存档/加载存档
Edit,复制信息,移除捕获(Del、Ctrl+X),标识颜色,解除编辑锁定(F2),查找会话
Rules,隐藏捕获,为所有Request/Response加断点,编辑规则(CustomRules.js),取消编码
Tool,设置,清缓存,编码工具(TextWizard)
View:界面视图切换
工具栏:
对应菜单中常用操作
左侧会话列表:
可快捷菜单进行相应编辑、重发请求、会话比较
可直接按数字键选中相应会话
左下QuickExec命令行:
help:打开官方的使用页面介绍,所有的命令都会列出来
cls:(=ctrl+x=清屏),
select:选择会话的命令
?.js 用来选择js文件
bpu:暂停指定的request(bpu www.kk.com/action/add, bpu无参时取消断点)
bpafter:暂停指定的response(bpafter www.kk.com/action/add, bpafter无参时取消断点)
右侧窗口:
Stastics:统计选中的一个或多个请求相关数据,大小、耗时
Inspectors:多种方式查看Request或者Response的详细消息
AutoResponder: 设置一些规则将符合规则的请求指向本地。
Composer:创建发送HTTP请求
Filters:设置会话过滤规则,
Log:日志
Timeline:网络请求时间
根据对应的进行清理就可以了
④ 求解,如何用C++DNS隧道,包括域名过滤和缓存
做一个DNS中继服务器就行了,然后本地连接DNS设置为127.0.0.1
在中继服务器里可以取得电脑上网络访问的域名。就可以过滤了。
⑤ 驱动中怎样清除缓存呢
IE属性-internet选项-删除COOKES
⑥ 怎么截取内存及浏览器缓存
读取其它进程内存用ReadProcessMemory,或者可以通过注入代码在其内部通过进程间通讯获得内存中的数据。其它进程的窗口文字可以通过SendMessage发WM_GETTEXT消息的方式获取。似乎没有有效的方法阻止其它进程获取你的窗口信息。 如何用ReadProcessMemory来取代WM_GETTEXT呢?在对方进程分配内存后,如何使用它来读取编辑框的内容呢,主要是ReadProcessMemory里面有个lpBaseAddress不知道应该填什么,因为我不知道我应该从哪块内存开始读取,刚才上网查了一下,要防范WM_GETTEXT是很容易的一件事,自己重写一个CEdit类就行了,对这个消息进行过滤检查.
希望采纳
⑦ 如何使用bloomfilter构建大型Java缓存系统 bloomfilter
在如今的软件当中,缓存是解决很多问题的一个关键概念。你的应用可能会进行CPU密集型运算。你当然不想让这些运算一边又一边的重复执行,相反,你可以只执行一次, 把这个结果放在内存中作为缓存。有时系统的瓶颈在I/O操作上,比如你不想重复的查询数据库,你想把结果缓存起来,只在数据发生变化时才去数据查询来更新缓存。
与上面的情况类似,有些场合下我们需要进行快速的查找来决定如何处理新来的请求。例如,考虑下面这种情况,你需要确认一个URL是否指向一个恶意网站,这种需求可能会有很多。如果我们把所有恶意网站的URL缓存起来,那么会占用很大的空间。或者另一种情况,需要确认用户输入的字符串是包含了美国的地名。像“华盛顿的博物馆”——在这个字符串中,华盛顿是美国的一个地名。我们应该把美国所有的地名保存在内存中然后再查询吗?那样的话缓存会有多大?是否能在不使用数据库的前提下来高效地完成?
这就是为什么我们要跨越基本的数据结构map,在更高级的数据结构像布隆过滤器(bloomfilter)中来寻找答案。你可以把布隆过滤器看做Java中的集合(collection),你可以往它里面添加元素,查询某个元素是否存在(就像一个HashSet)。如果布隆过滤器说没有这个元素,这个结果可能是错误的。如果我们在设计布隆过滤器时足够细心,我们可以把这种出错的概率控制在可接受范围内。
⑧ 360所占内存较大,如何将每天360扫描、杀毒后的缓存及时清理掉,而不占用电脑内存空间
在360设置里呢
⑨ 清除电脑的缓存有哪些好用的工具
Windows优化大师的功能相当全面,主要功能为: 1、 系统信息。在系统信息中,Windows优化大师可以检测系统的一些硬件和软件信息,例如:CPU信息、内存信息等。在更多信息里面,Windows优化大师提供了系统的详细信息(包括核心、内存、硬盘、网络、Internet、多媒体和其他设备等)。 2、磁盘缓存。提供磁盘最小缓存、磁盘最大缓存以及缓冲区读写单元大小优化;缩短Ctrl+Alt+Del关闭无响应程序的等待时间;优化页面、DMA通道的缓冲区、堆栈和断点值;缩短应用程序出错的等待响应时间;优化队列缓冲区;优化虚拟内存;协调虚拟机工作;快速关机;内存整理等。 3、菜单速度。优化开始菜单和菜单运行的速度;加速Windows刷新率;关闭菜单动画效果;关闭“开始菜单”动画提示等功能; 4、文件系统。优化文件系统类型;CDROM的缓存文件和预读文件优化;优化交换文件和多媒体应用程序;加速软驱的读写速度等。 5、网络优化。主要针对Windows的各种网络参数进行优化,同时提供了快猫加鞭(自动优化)和域名解析的功能。 6、系统安全。功能主要有:防止匿名用户ESC键登录;开机自动进入屏幕保护;每次退出系统时自动清除历史记录;启用Word97宏病毒保护;禁止光盘自动运行;黑客和病毒程序扫描和免疫等。另外,还提供了开始菜单;应用程序以及更多设置给那些需要更高级安全功能的用户。进程管理可以查看系统进程、进程加载的模块(DLL动态连接库)以及优先级等,并且可以终止选中的进程等。 7、注册表。清理注册表中的冗余信息和对注册表错误进行修复。 8、文件清理。主要功能是:根据文件扩展名列表清理硬盘;清理失效的快捷方式;清理零字节文件;清理Windows产生的各种临时文件。 9、开机优化。主要功能是优化开机速度和管理开机自启动程序。 10、个性化设置和其它优化。包括右键设置、桌面设置、DirectX设置和其它设置功能。其它优化中还可以进行系统文件备份。 还有两个功能给你推荐 一个是加密,不用算法,比较简单,适合加密较大的文件和文件夹 还有一个是键盘屏蔽,可以屏蔽掉键盘上的任意键,防止游戏的时候按错键,挺不错的 超级兔子程序的改进已经可以卸载大多数捆绑软件,更强大的进程管理器以及内存整理器将会出现在下一版本中,界时,好坏的EXE以及Dll均能一看便知简介:超级兔子是一个完整的系统维护工具,可能清理你大多数的文件、注册表里面的垃圾,同时还有强力的软件卸载功能,专业的卸载可以清理一个软件在电脑内的所有记录。 超级兔子共有8大组件,可以优化、设置系统大多数的选项,打造一个属于自己的Windows。超级兔子上网精灵具有IE修复、IE保护、恶意程序检测及清除工能,还能防止其它人浏览网站,阻挡色情网站,以及端口的过滤。 超级兔子系统检测可以诊断一台电脑系统的CPU、显卡、硬盘的速度,由此检测电脑的稳定性及速度,还有磁盘修复及键盘检测功能。超级兔子进程管理器具有网络、进程、窗口查看方式,同时超级兔子网站提供大多数进程的详细信息,是国内最大的进程库。 超级兔子安全助手可能隐藏磁盘、加密文件,超级兔子系统备份是国内唯一能完整保存Windows XP注册表的软件,彻底解决系统上的问题。