标签: protocol-relative

协议相对URL是相对URL吗?

所以考虑像这样的协议相对URL ;

//www.example.com/file.jpg
Run Code Online (Sandbox Code Playgroud)

只要我记得,我在脑海中的想法是,协议相对URL实际上是绝对URL.它们的行为与绝对URL完全相同,从不像相对URL那样工作.我不希望这会让浏览器找到一些东西

http://www.example.com///www.example.com/file.jpg
Run Code Online (Sandbox Code Playgroud)

URL定义了主机和路径(就像绝对URL一样),并且该方案继承自所使用的页面,因此它创建了一个完整的明确URL,即绝对URL.

对?

现在,经过对此的进一步研究,我得出这个答案,

如果URL以方案和方案特定部分(此后)开头,则称为绝对URL.其他任何东西都是相对URL.//http:

问题和答案都没有具体讨论协议相对的URL,所以我注意到它只能是措辞的疏忽.

但是,我现在也在我的开发中遇到了一个问题,其中只接受绝对URL的系统不能与协议相关的URL一起工作,我不知道这是设计还是由于错误.

通常与协议相关URL相关联的RFC3986部分也会在很多地方附加 "相对"一词.4.3然后继续说绝对URI定义一个方案.

所有这些反对我最初假设的证据都引出了我的问题;

协议相对URL是相对还是绝对的?

url uri relative-path absolute-path protocol-relative

9
推荐指数
1
解决办法
2695
查看次数

为什么在HTML中使用href ="//而不是href ="http://?

为什么使用<link href="//something.com/style.css" rel="stylesheet">而不是使用http://https://在域名之前使用?

如果我们使用href=//它会改变链接?就像在SSL模式下它会自动更改为https://

html uri protocol-relative

7
推荐指数
2
解决办法
6545
查看次数

UIWebView不会从协议相关URL加载图像

  1. 使用UIWebView创建一个应用程序,该应用程序打开具有协议相关样式和图像的网页,例如<img src="//example.com/image.png">(httphttps的示例).

  2. 通过您的自定义重写页面加载过程中NSURLConnection,这种方式.

结果:它不会显示图像!虽然,Safari和其他浏览器正确显示它们...

uiwebview nsurlconnection protocol-relative

6
推荐指数
1
解决办法
956
查看次数

gulp-sass将Google Fonts CSS编译到文件中,打破了协议相关链接

当我在我的.scss文件中使用以下代码时

@import url('//fonts.googleapis.com/css?family=SomeFont:400,700,400italic');
Run Code Online (Sandbox Code Playgroud)

我使用的SASS解析器(nodejs gulp-sass)愉快地从所述位置下载文件,并将其作为纯文本包含在编译输出中.

这是我的Gulpfile:

var gulp = require('gulp'),
    sourcemaps = require('gulp-sourcemaps'),
    autoprefixer = require('gulp-autoprefixer'),
    minify = require('gulp-minify-css'),
    rename = require('gulp-rename'),
    sass = require('gulp-sass'),
    uglify = require('gulp-uglify'),
    plumber = require('gulp-plumber');

gulp.task('sass', function() {
    gulp.src('www/sass/*.scss')
        .pipe(plumber(function(err){
            console.log(err);
            this.emit('end');
        }))
        .pipe(sourcemaps.init())
            .pipe(sass({
                outputStyle: 'expanded',
                errLogToConsole: true,
            }))
            .pipe(autoprefixer('last 2 version'))
            .pipe(rename({suffix: '.min' }))
            .pipe(minify())
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest('www/css'));
});
Run Code Online (Sandbox Code Playgroud)

问题是,我的网站使用HTTPS,并且当编译器请求文件时,它使用提取文件HTTP,因此返回的响应中的URL也HTTP导致加载控制台的警告,而字体不会加载.

有什么方法可以让编译器单独留下那一行吗?

sass protocol-relative gulp gulp-sass gulp-clean-css

5
推荐指数
1
解决办法
2780
查看次数