Php https检测-这两种方法的优缺点

Php https检测-这两种方法的优缺点,php,html,http,https,Php,Html,Http,Https,我希望对我在页面中链接的资源进行https/http的“智能”检测。基本上,如果页面需要有效的ssl,我只能放置httpshref 选项1(使用PHP) 选项3对所有内容使用https 有什么理由我不应该在所有事情上都使用https吗?与协议相关的/是最直观的处理方法。然而,我不确定它是否得到了老浏览器的普遍支持 <script type="text/javascript" src="//myUri.com/script.js"></script> 与协议相关的/是最直

我希望对我在页面中链接的资源进行https/http的“智能”检测。基本上,如果页面需要有效的ssl,我只能放置
https
href

选项1(使用PHP)

选项3对所有内容使用https


有什么理由我不应该在所有事情上都使用https吗?

与协议相关的
/
是最直观的处理方法。然而,我不确定它是否得到了老浏览器的普遍支持

<script type="text/javascript" src="//myUri.com/script.js"></script>

与协议相关的
/
是最直观的处理方法。然而,我不确定它是否得到了老浏览器的普遍支持

<script type="text/javascript" src="//myUri.com/script.js"></script>

选项1:这并不可靠。不太可能有人会通过端口80执行SSL,但这是可能的

选项2:这是健壮、简单和安全的。使用它


选项3:如果您对所有脚本(而不是页面)使用SSL,则会收到混合内容警报。通过SSL为您的所有内容提供服务将对缓存和性能产生影响(但对于需要用户登录的站点的任何部分来说,这通常都是一个好主意)。

选项1:这并不可靠。不太可能有人会通过端口80执行SSL,但这是可能的

选项2:这是健壮、简单和安全的。使用它


选项3:如果您对所有脚本(而不是页面)使用SSL,则会收到混合内容警报。通过SSL为您的所有内容提供服务将对缓存和性能产生影响(但通常对于需要用户登录的站点的任何部分都是一个好主意)。

关于“有什么理由我不应该在所有内容上都使用https吗?”一方面,它的速度要慢得多。关于“有什么理由我不应该在所有内容上都使用https吗?”首先,它要慢得多。嗯,1995年6月发行了。当时的浏览器甚至不支持虚拟主机,所以…:)我经常使用这一行来获取我自己的绝对位置(减去查询字符串等),并且(至少在Apache和NginX下)每次都能很好地工作,包括获取正确的端口:
$\u SELF=((isset($\u SERVER['HTTPS'])&($\u SERVER['HTTPS'])和&strtolower($\u SERVER['HTTPS'])!='off?'HTTPS':'http'):'http'):/'。$\u SERVER['http\u HOST'].u服务器['PHP_SELF']。请注意,我没有将$_SERVER['HTTPS']与'on'进行比较,我将它作为一个布尔值进行测试,并确保它不是'off'——这是在一个特定的实例之后,它一直使用HTTPS,而它本不应该……嗯,1995年6月发布了。当时的浏览器甚至不支持虚拟主机,所以…:)我经常使用这一行来获取我自己的绝对位置(减去查询字符串等),并且(至少在Apache和NginX下)每次都能很好地工作,包括获取正确的端口:
$\u SELF=((isset($\u SERVER['HTTPS'])&($\u SERVER['HTTPS'])和&strtolower($\u SERVER['HTTPS'])!='off?'HTTPS':'http'):'http'):/'。$\u SERVER['http\u HOST'].u服务器['PHP_SELF']。请注意,我没有将$_SERVER['HTTPS']与'on'进行比较,我将它作为一个布尔值进行测试,并确保它不是'off'-这是在一个特定的实例之后,它一直使用HTTPS,而它本不应该是。。。
<script type="text/javascript" src="//myUri.com/script.js"></script>
if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") {}