引用 js 时写 http://开头和只写//开头有什么区别?谢谢

2015-11-12 01:58:29 +08:00
 vibrance

大家别喷我,请教一下

4516 次点击
所在节点    问与答
19 条回复
pupboss
2015-11-12 02:03:46 +08:00
如果你的网站用 https ,用 //就自动加 https 协议头
cxbig
2015-11-12 02:04:32 +08:00
最好是写全了,避免跨站攻击之类的问题。
DIYgod
2015-11-12 02:07:50 +08:00
@cxbig 求解释
vibrance
2015-11-12 02:14:29 +08:00
adsense 广告里面 js 的引用就是直接是 //开头, v2 的也是
sneezry
2015-11-12 02:15:45 +08:00
//是与引用页面协议保持一致
cxbig
2015-11-12 02:16:52 +08:00
用 /是个偷懒的办法,可以自适应 http 和 https ,也可以自适应域名。
但是现在已经不够安全了,你搜一下“ Man-on-the-side attack ”。
zonghua
2015-11-12 02:16:55 +08:00
@sneezry 相对路径的问题呢,有的相对,有的绝对
msg7086
2015-11-12 06:53:17 +08:00
比较麻烦的是万一你打开的是个本地或者局域网页面,用 //可能会把你带到局域网里去。
( Opera 就有这个问题,开一次得假死半天
binux
2015-11-12 07:44:26 +08:00
@cxbig 什么乱七八糟的,你们说的是一个东西吗?
Slienc7
2015-11-12 08:02:21 +08:00
@cxbig
是 //,不是 /
自适应域名是指什么?

没理解你说的这个 Man on side 是什么意思。
wikipedia 上给的例子是百度流量被劫持攻击 GitHub 的例子,这个是 HTTP 劫持,然而 wikipedia 上又说类似中间人,能否大概说下?
Slienc7
2015-11-12 08:06:37 +08:00
@xgowex
抱歉,我看错了。

可还是有疑问:这种攻击与 http 流量劫持有什么不同?
likexian
2015-11-12 08:09:17 +08:00
// 自适应 http https
说什么中间人攻击的你还没看懂题主意思吧
view-source:https://www.baidu.com/
view-source:https://www.taobao.com/
vibrance
2015-11-12 10:41:12 +08:00
我还以为只有我不懂🙄😯😯
b821025551b
2015-11-12 11:34:28 +08:00
切换 https 时不用从头改一遍。但是本地调试的时候会变成 file://
Andy1999
2015-11-12 12:05:43 +08:00
根据协议来
http 就是 http 资源
https 就是 https
files 就是 files
HentaiMew
2015-11-12 12:32:36 +08:00
本地调试的话其实可以用一些内置或者调用 Http 容器的编辑器,例如 Brackets
iyaozhen
2015-11-12 13:16:37 +08:00
只是为了适应 http 和 https 。一般在引用 CDN 前端库的时候使用。

不过这样本地直接文件是,就会变成 file://,然后你页面就乱了。
SourceMan
2015-11-12 13:44:04 +08:00
The W3C standards might allow for no protocol, but you would never just put "//" - that's part of the protocol ("http://", "https://", "ftp://", etc.). This usage is technically incorrect. It could cause minor issues on some browsers (although probably not on newer ones).
W3C 标准允许省略协议,但你不应该直接用"//",这只是协议("http://", "https://", "ftp://", 等)的一部分。这中用法从技术的角度来说是不正确的。它在某些浏览器上会有点小问题(经管新版浏览器未必如此)

Does it matter for SEO? Well, that's a bit trickier. Google tend to ignore base href unless there are ambiguous relative URLs, like canonical tags that have no base URL and are unclear. Practically speaking, it's probably not a huge problem, but it is possible for it to cause issues down the road.
这对 SEO 有影响么?好吧,有点小纠结。 Google 倾向于忽略 base href ,除非在相对路径上有歧义,比如 canonical 的标签不支持 base href 。实际上,用 base href 现在可能没什么大问题,但也可能在未来引起问题

Either way, if it's on a sitewide template, it's a 5-minute job, and what they have is wrong. I'm not one to knock devs (I've been a dev and I've managed devs), but they need to stop arguing and just fix it.
不管这样,如果你的网站用了模板,这就是 5 分钟能修复的问题。我不是那种打击开发的人(我曾经也是一个研发,还管理研发团队),但他们确实需要停止争吵,简单修复一下就行了。
vibrance
2015-11-12 21:01:13 +08:00
@SourceMan 好用心回答

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/235497

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX