Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何检查web服务器是否具有SSL_Ios_Swift_Ssl_Wkwebview - Fatal编程技术网

Ios 如何检查web服务器是否具有SSL

Ios 如何检查web服务器是否具有SSL,ios,swift,ssl,wkwebview,Ios,Swift,Ssl,Wkwebview,我正在使用WKWebView开发一个小型web浏览器应用程序。在那里,当用户输入url时,我想检查相关web服务器是否具有SSL,然后重定向到https://one 例如,用户输入。 由于facebook有SSL,我想将用户重定向到 任何帮助都将不胜感激 编辑:我的错。这是由网站自己完成的。我误解了一些内容。由于您没有向我们提供太多细节或限制,只有您知道以下选项最适合您的需要 客户端天真的方法 从URL中删除HTTP协议,并将其替换为HTTPS 使用新形成的URL进行HEAD call 在收到

我正在使用WKWebView开发一个小型web浏览器应用程序。在那里,当用户输入url时,我想检查相关web服务器是否具有SSL,然后重定向到https://one

例如,用户输入。 由于facebook有SSL,我想将用户重定向到

任何帮助都将不胜感激


编辑:我的错。这是由网站自己完成的。我误解了一些内容。

由于您没有向我们提供太多细节或限制,只有您知道以下选项最适合您的需要

客户端天真的方法

  • 从URL中删除HTTP协议,并将其替换为HTTPS
  • 使用新形成的URL进行HEAD call
  • 在收到肯定响应代码(2XX)时,您可以推断HTTPS可用,并自己进行重定向
这个解决方案的代价是最初调用“猜测”HTTPS的可用性。如果结果是肯定的,您需要再打一次电话来获取文档

预测性方法

预测网站有HTTPS并立即请求。如果页面未返回,请使用HTTP重试。当然,您要确保在确定两个请求的结果之前不会向用户显示任何内容。不要将此解决方案与前一个解决方案混淆。此解决方案尝试立即“加载”网站,正如前一个解决方案首先“验证”的那样

把它们都拿出来

<>因为你从头开始开发一个浏览器,考虑得到两个页面的可能性。以并发方式使用HTTP和HTTPS获取两个URL。收到HTTPS的肯定响应后,您将显示它。否则,只显示HTTP响应(好或坏)

现代浏览器策略

让服务器通过始终使用提供的URL来决定。这样做时,如果不允许HTTP,服务器“应该”通过回答重定向状态代码(3xx)来提醒您,并在响应头中为您提供新的目的地。这种方法简化了客户端逻辑,但希望服务器发送重定向详细信息。请注意,并非所有网站都处理此案件

请求示例

响应头


由于您没有向我们提供太多细节或限制,只有您知道以下选项最适合您的需求

客户端天真的方法

  • 从URL中删除HTTP协议,并将其替换为HTTPS
  • 使用新形成的URL进行HEAD call
  • 在收到肯定响应代码(2XX)时,您可以推断HTTPS可用,并自己进行重定向
这个解决方案的代价是最初调用“猜测”HTTPS的可用性。如果结果是肯定的,您需要再打一次电话来获取文档

预测性方法

预测网站有HTTPS并立即请求。如果页面未返回,请使用HTTP重试。当然,您要确保在确定两个请求的结果之前不会向用户显示任何内容。不要将此解决方案与前一个解决方案混淆。此解决方案尝试立即“加载”网站,正如前一个解决方案首先“验证”的那样

把它们都拿出来

<>因为你从头开始开发一个浏览器,考虑得到两个页面的可能性。以并发方式使用HTTP和HTTPS获取两个URL。收到HTTPS的肯定响应后,您将显示它。否则,只显示HTTP响应(好或坏)

现代浏览器策略

让服务器通过始终使用提供的URL来决定。这样做时,如果不允许HTTP,服务器“应该”通过回答重定向状态代码(3xx)来提醒您,并在响应头中为您提供新的目的地。这种方法简化了客户端逻辑,但希望服务器发送重定向详细信息。请注意,并非所有网站都处理此案件

请求示例

响应头


如果你是为了现实世界而从头开始写自己的,你也应该看看HST。但是,如果这只是一个家庭作业问题,请更具体地说明您如何/为什么/在通过WebView发出基本HTTP(任何类型)请求时遇到困难。@Jondams是的,这是供实际使用的。谢谢你提供的信息。我对这类事情还不熟悉。这就是为什么。这只是为了将图像从internet下载到我的应用程序中。这是一种小型的网络浏览器。在chrome应用程序中,当我们放置http://someweb.tld时,如果服务器具有SSL,它会将用户重定向到https://someweb.ltd。我需要实现这种行为。如果我需要更具体一些,请告诉我。谢谢你帮助我的朋友。我认为你根本不应该改变方向。用户希望通过HTTP获取网站可能有原因。另外,如果一个网站希望所有流量都通过HTTPS传输,他们可以进行重定向,这在你的例子中facebook已经做到了。@ntoonio这意味着不是WKWebView,而是网站,这样做了吗?@GMHSJ是的,没错。如果你是从零开始写自己的流量供现实世界使用,你也应该研究HST。但是,如果这只是一个家庭作业问题,请更具体地说明您如何/为什么/在通过WebView发出基本HTTP(任何类型)请求时遇到困难。@Jondams是的,这是供实际使用的。谢谢你提供的信息。我对这类事情还不熟悉。这就是为什么。这只是为了将图像从internet下载到我的应用程序中。这是一种小型的网络浏览器。在chrome应用程序中,当我们放置http://someweb.tld时,如果服务器具有SSL,它会将用户重定向到https://someweb.ltd。我需要实现这种行为。如果我需要更具体一些,请告诉我。谢谢你帮助我的朋友。我认为你根本不应该改变方向。也许有理由这么做
Request URL:http://www.gmail.com/
Request Method:GET
Status Code:307 Internal Redirect
Referrer Policy:no-referrer-when-downgrade
Location:https://www.gmail.com/
Non-Authoritative-Reason:HSTS