精华内容
下载资源
问答
  • url中的双斜杠//代表的意义

    千次阅读 2020-05-20 23:37:35
    图片地址:... 查资料,资料连接:https://www.zhihu.com/question/37063799/answer/70242462 这篇文章解释了为什么是三斜杠的原因了,因为file没有host 

    图片地址:https://upload-images.jianshu.io/upload_images/2849271-0cd2a78eb9e6ceb7.jpeg?imageMogr2/auto-orient/strip|imageView2/2/w/800/format/webp

    今天在爬取一个网站的时候,遇到一个img标签 src是//upload-images.jianshu.io/upload_images/2849271-0cd2a78eb9e6ceb7.jpeg?imageMogr2/auto-orient/strip|imageView2/2/w/800/format/webp

    这种以//开头的。我当时就很不理解,没见过//开头的

    经过测试,这种//开头的写法,就是表示网址的开头,比如 //www.baidu,com  会转换为 https://www.baidu.com

    当然如果不支持https协议就是 http://www.baidu.com了

    //是网络路径引用的意思

    然后一个群里大佬考了我这样一个问题

    那么问题来了如果是本地的 html,以 file:// 打开的,会是什么情况

    我当时第一感觉就和上面一样,还是认为是补充的http和https

    但是人家问了,肯定不是这么容易

    测试后发现

    是file协议的/图片访问失败了

    得到的结果是,网络协议补充http或https

    file文件协议,就是补充file协议,

    如果https协议可以访问,优先补充https协议,不成功就是http协议了,这个由浏览器决定

    补充:群里大佬指点【JAVA里的sendRedirect就用的这种参数】

    查资料,资料连接:https://www.zhihu.com/question/37063799/answer/70242462

    这篇文章解释了为什么是三斜杠的原因了,因为file没有host 

    到这里你应该明白双斜杠//怎么用了,简单说就是使用http协议和https协议

    如果你想深入研究的话

    可以查询以下几个知识点

    uri scheme

    URI,URL,Uri

    http协议和https协议

    PS:今天进了一个群,真的都是爱技术的一群人,很高兴认识他们,好喜欢这个讨论技术的氛围,同时也收到了一点打击吧,不会的好多啊,还要学~还要学~还要学

     

     

     

    展开全文
  • 今天测试提了个bug,说某个接口被权限拦截了,无法调用成功,但是接口明明已经过滤拦截了,postman亲测无问题,问什么还会导致被拦截呢,然后检查后发现,接口URL中包含一个双斜杠导致出现这个问题。 public class ...

    今天测试提了个bug,说某个接口被权限拦截了,无法调用成功,但是接口明明已经过滤拦截了,postman亲测无问题,问什么还会导致被拦截呢,然后检查后发现,接口URL中包含一个双斜杠导致出现这个问题。(就像这样的 localhost:8080//api/a/people/1这种 8080后面有两个斜杠)

    public class StrictHttpFirewall implements HttpFirewall {
    
    		/**
    			省略甚多东西
    		*/
    /**
    	 * Checks whether a path is normalized (doesn't contain path traversal
    	 * sequences like "./", "/../" or "/.")
    	 *
    	 * @param path
    	 *            the path to test
    	 * @return true if the path doesn't contain any path-traversal character
    	 *         sequences.
    	 */
     private static boolean isNormalized(String path) {
    		if (path == null) {
    			return true;
    		}
    		//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    		//就是此处 注意看 就是他给返回了false
    		if (path.indexOf("//") > -1) {
    			return false;
    		}
    
    		for (int j = path.length(); j > 0;) {
    			int i = path.lastIndexOf('/', j - 1);
    			int gap = j - i;
    
    			if (gap == 2 && path.charAt(i + 1) == '.') {
    				// ".", "/./" or "/."
    				return false;
    			} else if (gap == 3 && path.charAt(i + 1) == '.' && path.charAt(i + 2) == '.') {
    				return false;
    			}
    
    			j = i;
    		}
    
    		return true;
    	}
    }
    

    上面那段代码中在验证url中包含双//会直接返回验证失败。

    怎么解决这个问题呢,想了一个偷巧的办法,在过滤器最前面增加一个HttpRequest的wrapper。

    @Component("uriFormatFilter")
    public class UriFormatFilter extends OncePerRequestFilter {
        @Override
        protected void doFilterInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) throws ServletException, IOException {
    
            String uri = httpServletRequest.getRequestURI();
            String newUri = uri.replace("//","/");
            httpServletRequest = new HttpServletRequestWrapper(httpServletRequest){
                @Override
                public String getRequestURI() {
                    return newUri;
                }
            };
    
            filterChain.doFilter(httpServletRequest, httpServletResponse);
        }
    }
    
    @Component("permitAllSecurityConfig")
    public class PermitAllSecurityConfig extends SecurityConfigurerAdapter<DefaultSecurityFilterChain, HttpSecurity> {
    
        @Autowired
        private Filter uriFormatFilter;
    
        @Bean
        public FilterRegistrationBean setFilter() {
            FilterRegistrationBean filterBean = new FilterRegistrationBean();
            filterBean.setFilter(uriFormatFilter);
            filterBean.setName("uriFormatFilter");
            filterBean.addUrlPatterns("/*");
            filterBean.setOrder(-10000);
            return filterBean;
        }
    
    }
    
    问题华丽丽的解决
    
    展开全文
  • Html-双斜杠//开头的URL(依赖协议的URL)发现好多网站的链接都是这种<a href="//taobao.com">淘宝</a>URL是以双斜杠“//”开头的,这种写法有特殊的用途,它会判断当前的页面协议是http 还是 ...

    Html-双斜杠//开头的URL(依赖协议的URL)

    发现好多网站的链接都是这种

    <a href="//taobao.com">淘宝</a>

    URL是以双斜杠“//”开头的,这种写法有特殊的用途,它会判断当前的页面协议是http 还是 https 来决定请求 url 的协议。防止IE下出现“This Page Contains Both Secure and Non-Secure Items”的报错。

    但是当你浏览本地文件的时候,它会解析为 file:// 协议。这种特性可以用来加载CDN:

    <script type="text/javascript" src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>

    也适用于CSS:

    .box { background: url(//zhuimengzhu/public/index/img/logo.png); }


    展开全文
  • 双斜杠//开头的URL的含义

    千次阅读 2017-03-29 10:09:42
    其中,img 中的url是以双斜杠“//”开头的。   一、这种写法有特殊的用途 1、它会判断当前的页面协议是http 还是 https 来决定请求 url 的协议。 2、用于处理 网站使用的协议和 网页中请求的外网资源不一致的...

    在WEB网页中,有时会发现类似下面这种 url 写法
    <img src="//image.studyofnet.com/upfileImages/20161008/20161008222856974.gif">
    其中,img 中的url是以双斜杠“//”开头的。
     
    一、这种写法有特殊的用途
    1、它会判断当前的页面协议是http 还是 https 来决定请求 url 的协议。
    2、用于处理 网站使用的协议和 网页中请求的外网资源不一致的问题。
    3、这种写法,也使用于CSS,例如:.omgomg { background: url(//image.studyofnet.com/upfileImages/20161008/20161008222856974.gif); }
     
    二、应用场景
    1、对于同时支持HTTPS和HTTP的资源,引用的时候要把引用资源的URL里的协议头去掉,例如://image.studyofnet.com/upfileImages/20161008/20161008222856974.gif,这样相当于相对路径,即浏览器会自动根据当前是HTTPS还是HTTP来给资源URL补上协议头的,可以达到无缝切换。
    2、对于站外的资源如果不支持HTTPS那就只能用iframe了。
    展开全文
  • 本来只是一个绝对url和相对url的简单问题,但实际使用中会碰到一些不常见的,比如双斜杠,经常不用竟然忘了,做一下总结。可以参考一下这篇文章  1.url前面是双斜杠(//mljr.com/car.html) 双斜杠是相对协议进行...
  • 解决方案:自定义栏目伪静态URL规则时,/{$catdir}/index.html|/{$catdir}/list_{$page}.html中{$catdir}变量前面的斜杠/不能少({$catdir}用固定路径代替的也一样),否则会出现列表分页URL地址栏目路径重复的问题...
  • URL是以双斜杠“//”开头的,这种写法有特殊的用途,它会判断当前的页面协议是http 还是 https 来决定请求 url 的协议。防止IE下出现“This Page Contains Both Secure and Non-Secure Items”的报错...
  • 问题描述:在上篇文章中,SpringSecurity拦截 // 导致报错 url 请求不合规范问题通过修改Security源码已解决, 但是又因为许多静态文件也带有 // 进行...此处参考 spring security关于URL中包含双斜杠被权限拦截...
  • 前言 在日常的开发中,小伙伴肯定经常解析JSON数据。今天遇到一个问题,我获取的JSON某个参数是有\\的,但是我解析之后获取当前参数发现变成\。令人头疼的事情出现了,项目中用到的MathView数学公式框架需要\\,我们...
  • JSON转义URL斜杠处理

    2020-08-08 11:54:31
    给转json的地方加JSON_UNESCAPED_SLASHES即可 下面是未加的 $json = json_encode(array( 'code' => 200, 'data' => $dst, 'error' => '' )); 返回前端是: {“code”:200,“data”:...$json = j
  • 使用双斜杠(//)开头的URL的含义

    千次阅读 2017-02-10 00:39:26
    使用双斜杠(//)开头的URL例如: 36nu.com 超链接的url是以双斜杠“//”开头的,是依赖协议的URL表示形式,这种写法会判断当前的页面协议是http,https 或其他来决定请求 url 的协议。 当浏览本地文件的时候...
  • 连接-url-斜杠-消毒剂 从你的快递网址中删除不必要的斜线的...这将替换 url 中的所有双斜杠。 例如,如果网址是: http://www.myapp.com/something//more/ 中间件将 301 重定向到http://www.myapp.com/something/more
  • 第二种情况 : 获取双斜杠// 后面所有的值,123123123:8080或者123123123?method=xxx。  那么也很简单,你剋通过直接截取或者通过split分割的方式实现。 1. 直接截取 [code]String url = ...
  • VUE作的前端页面,别的项目调用一个页面,参数在URL中传递,参数中包含多个斜杠怎么处理 如:url地址为:http://www.test.com/#/test/13012340001/233E/QF= 路由中只配置了2个参数: { path: '/test/:...
  • 1. 斜杠"/"是URL地址中用到的分隔符,并且在linux系统中的文件路径也是用“/”分隔: 比如在URL https://blog.csdn.net/qq_41854911/article/details/117965439中,斜杠"/"起着分隔主机名、路径、以及文件名的作用 ...
  • //默认情况下Tomcat等服务器是拒绝url中带%2F或者%5C的URL,因为它们经浏览器解析之后就变成了/和\, // 服务器默认是拒绝访问的,所以需要通过服务的配置来解决这个问题。 static { //解决URL中包含%2F的问题 ...
  • 关于 斜杠 反斜杠 双斜杠 双反斜杠

    千次阅读 2016-01-01 21:53:51
    //斜线、 与冒号一起 构成 协议和主机名之间的分隔符 ,且冒号在斜线的左边。 /单斜线、WEB上或者Unix内核的目录架构分隔符 \反斜线、windows 里的目录结构的分隔符, 正斜线也可。 \\双反斜线 在windo
  • 关于URL最后斜杠/问题

    2019-03-20 22:56:00
    由于在当前网址末尾未加斜杠/,导致a标签的href会跳转到同级目录下,而不是希望得到的下级目录。 1./Admin/crm/customer 2./Admin/crm/customer/<a href='1/change/'></a> 末尾不加斜杠代表的是...
  • img 中的url是以双斜杠“//”开头的,这种写法有特殊的用途,它会判断当前的页面协议是http 还是 https 来决定请求 url 的协议。防止IE下出现“This Page Contains Both Secure and Non-Secure Item...
  • 单斜杠替换为双斜杠

    千次阅读 2018-04-17 09:33:35
    string::size_type pos=0; while((pos=savePath.find_first_of('\\',pos))!=string::npos)//单斜杠替换为双斜杠 { savePath.insert(pos,"\\"); pos=pos+2; }
  • Django urls 中的斜杠

    千次阅读 2019-02-20 20:15:21
    今天在使用Django时,写了一个新接口local_files,... url(r'^local_ocr',ocr.local), url(r'^local_ocr_files',ocr.local_files), ] 可是每次调用,都会跑到ocr.local()方法中,换了url顺序就没问题了。 最后发现...
  • NGINX处理//(双斜杠)问题

    千次阅读 2021-08-05 23:33:33
    问题引入 最近开发反馈在服务器内读取到的url在一个特定的地方多了一个/,本来应该是http://example.domain.url/servername/appname/dosomething这样的地址,在服务器上收到的地址为... 在应用服务器的前一层恰好是...
  • phpcms更新url或生成内容时,url路径中多出一个“/”,出现双斜杠// phpcms生成内容或更新URL,有时会出现url路径中多个一个斜杆“/”,出现双斜杠的情况,如:http://www.web315.net/category//article/1.html,...
  • 对应地,双斜杠用在网络域名访问中,是协议和主机名或IP地址之间的分隔符,以双斜杠//开头的URL是依赖协议的URL表示形式,URL格式:协议://域名或ip/请求文件路径/文件名。 如百度的网址:https://www.baidu.com/...
  • nginx配置文件中斜杠/的6种含义 nginx配置proxy_pass时,/的6种含义+没有/的含义 nginx配置proxy_pass时,斜杠的6种含义,不写斜杠/的含义
  • CSS问题:background-image中url斜杠问题一、事由二、分析三、拓展四、参考文章 一、事由 今天在写背景图片时,突然发现图片无法显示出来。但是当我把相对url复制到img中却发现可以显示,等到后来检查的时候,才...
  • 最近使用Webmagic进行过滤url的时候:如下格式的 page.addTargetRequests(page.getHtml().links().regex("(https://github\\.com/[\\w\\-]+/[\\w\\-]+)").all()); page.addTargetRequests(page.getHtml().links()....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,330
精华内容 7,332
关键字:

url双斜杠