zoukankan      html  css  js  c++  java
  • iOS 开发之https和http

    今天用Xcode 7 创建新项目用到 URL 发送请求时,报下面的错: 
    “App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app’s Info.plist file”

    找查资料后发现,新特性要求App内访问网络请求,要采用 HTTPS 协议。

    HTTPS和HTTP的区别
    超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。
    为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
    HTTPS和HTTP的区别主要为以下四点:
    一、https协议需要到ca申请证书,一般免费证书很少,需要交费。
    二、http是超文本传输协议,信息是明文传输,https 则是具有安全性ssl加密传输协议。
    三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
    四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

    但是我获取的图片地址都是HTTP协议,经过百度和Google 的赞助最终找到以下解决办法:

      1. 在Info.plist中添加 NSAppTransportSecurity 类型 Dictionary ;
      2. 在 NSAppTransportSecurity 下添加 NSAllowsArbitraryLoads 类型Boolean ,值设为 YES;
      3. 如下图:
    You can reach me by surfing the web ---- huntjobs.cn,or sending e-mails to me,Here is my qq MailBox:1424870395@qq.com
  • 相关阅读:
    集合类
    ajax技术
    Java中的Runnable、Callable、Future、FutureTask的区别与示例
    python 检测文件编码等
    android发送/接收Json包含中文的处理
    android 获取 imei号码 及相关信息
    RelativeLayout常用属性介绍
    Android之读取 AndroidManifest.xml 中的数据
    Java中int与Integer
    Handler sendMessage 与 obtainMessage (sendToTarget)
  • 原文地址:https://www.cnblogs.com/HedgehogBlog/p/4957561.html
Copyright © 2011-2022 走看看