iOS:iOS9关于HTTP和HTTPS的问题

本文解释了在iOS9更新后,公司电脑上开发的项目在个人电脑上运行时报错的原因,以及如何通过修改Info.plist文件中的NSAppTransportSecurity设置来解决该问题。iOS9引入HTTPS强制使用机制,导致使用HTTP协议的项目在更新后无法正常运行。通过将NSAllowsArbitraryLoads设为YES,可以允许不安全的HTTP请求,从而解决报错问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在公司电脑上开发的项目,在自己电脑上运行时报错:





在网上找到的解决方法是:

  1. (1).在Info.plist中添加 NSAppTransportSecurity 类型 Dictionary ;



(2).在 NSAppTransportSecurity 下添加 NSAllowsArbitraryLoads 类型Boolean ,值设为 YES;



问题因此解决,但为什么么会出现这种情况呢?

是因为苹果在iOS9里把HTTP统统改为需要用HTTPS了,虽然http协议要比https的效率更高,但后者却要比前者更安全些,基于此目的,Apple在iOS9版本发布后,对企业应用的发布强制性使用https协议,所以在iOS9以前可以用http协议的,换成iOS9之后,必然就会出问题。

那么什么是HTTP和HTTPS呢?

HTTP:(Hypertext Transfer Protocol)超文本传输协议,是互联网上最广泛的一种传输协议,特点是简单灵活、无状态、快速且每次连接只处理一个请求。信息是明文传输,因此安全性欠佳。端口为80.

HTTPS:(Secure Hypertext Transfer Protocol)即安全超文本文传输协议,他是基于HTTP开发的安全通信通道,是客户端和服务器间交换信息的通道,需要在服务器上部署SSL证书,也因此会降低传输性能,使其效率相较于http有所下降。端口为443.



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值