web高级第一节

2021-04-20 13:27

阅读:554

标签:chain   The   https   exception   info   servlet   name   顺序   server   

1.HTTP协议

 技术图片

 技术图片

常见协议: HTTP协议,scoket: TPC/UDP ,HTTPS协议SSL+安全认证证书,FTP

HTTP协议:超文本传输协议,用来客户端与服务器之间进行数据传输格式的协议,支持无连接也支持无状态

无连接

代表的是一次连接只能处理一次请求.

无状态
不会记录事务,代表不保存状态,HTTP协议自身不对客户端和服务器的状态进行保存,也就是说请求和响应不做持久化处理

同步:阻塞,HTTP建立连接口只能处理一次请求,按顺序执行,当当前请求没有结束,其他不能
再次发送请求
异步:不会等待服务器做出相应。发送完请求后就结束

 

2.时间戳:版本更新,解决浏览器缓存
  缓存:200 from memory cache 不访问服务器,直接读取缓存 ,从内存当中读取
  200 from disk cache 不访问服务器,直接读取缓存,从磁盘当中读取
  304 访问服务器,发现数据没有更新,服务器返回次状态码,然后再从缓存中读取数据

3.防盗链
  Java代码手段防止非法请求,思路如下:
    1.获取到当前请求的域名,如www.a.com
    2.获取到请求资源的上一个地址
    3.判断上一个地址是否为空,如果为空代表的是直接访问的资源,非法
  还有一种情况就是B项目访问时上一个地址www.b.com/xxx 不是资源所在地址,非法
新建一个过滤器,实现逻辑,如果非法则显示图像,拦截return ,否则放行

public class ImageFilter implements Filter{

            @Override
            public void destroy() {
                System.out.println("过滤器销毁");
                
            }

            @Override
            public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
                    throws IOException, ServletException {
                System.out.println("dofilter");
                //获取到当前请求的连接地址和上一个发送请求的地址
                HttpServletRequest httprequest=(HttpServletRequest)request;
                HttpServletResponse httpresponse=(HttpServletResponse)response;
                
                //获取上一个发送请求的连接
                String referer = httprequest.getHeader("Referer");
                String serverName = httprequest.getServerName();
                System.out.println(referer+"\t"+serverName);
                if(referer==null||!referer.contains(serverName)) {
                    request.getRequestDispatcher("/img/ffqq.png").forward(request, response);
                    return;
                }
                
                //放行
                chain.doFilter(request, response);
                
            }

            @Override
            public void init(FilterConfig arg0) throws ServletException {
                System.out.println("过滤器启动");
            }

        }
    web.xml配置过滤地址:
        imgFilterclass>com.wdksoft.ImageFilterclass>
        imgFilter/img/*

效果如下:

  正常访问

技术图片

 技术图片

   非法访问

技术图片 

4.重定向机制

技术图片

技术图片

 

web高级第一节

标签:chain   The   https   exception   info   servlet   name   顺序   server   

原文地址:https://www.cnblogs.com/ws1149939228/p/12259487.html


评论


亲,登录后才可以留言!