1. 程式人生 > >如何在HTTPS裡呼叫HTTP資源不出現提示框

如何在HTTPS裡呼叫HTTP資源不出現提示框

什麼是HTTPS?

HTTPS(全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。 它是一個URI scheme(抽象識別符號體系),句法類同http:體系。用於安全的HTTP資料傳輸。https:URL表明它使用了HTTP,但HTTPS存在不同於HTTP的預設埠及一個加密/身份驗證層(在HTTP與TCP之間)。這個系統的最初研發由網景公司進行,提供了身份驗證與加密通訊方法,現在它被廣泛用於全球資訊網上安全敏感的通訊,例如交易支付方面。

問題描述

瀏覽器預設是不允許在HTTPS裡面引用HTTP資源的,一般都會彈出提示框,使用者確認後才會繼續載入,使用者體驗非常差。而且如果在一個HTTPS頁面裡動態的引入HTTP資源,比如引入一個js檔案,會被直接block掉的。Chrome 21之後,在SSL加密頁面embed非SSL的Flash會怎樣呢?會被默默的遮蔽掉,只留下一句console報告。

解決方案

可以使用iframe的方式引入HTTP資源,比如在HTTPS裡面播放優酷的視訊,我們可以先在一個HTTP的頁面裡播放優酷視訊,然後將這個頁面嵌入到HTTPS頁面裡就可以了,另外一個典型的例子是在HTTPS頁面裡通過AJAX的方式請求HTTP資源,Chrome是不允許直接AJAX請求HTTP的。如果兩個頁面的內容都可以控制的話,當前視窗可以iframe視窗進行通訊的。

如何避免在HTTPS裡面引用HTTP

對於同時支援HTTPS和HTTP的資源,引用的時候要把引用資源的URL裡的協議頭去掉,例如://www.example.com/scirpt.js,這樣相當於相對路徑,即瀏覽器會自動根據當前是HTTPS還是HTTP來給資源URL補上協議頭的,可以達到無縫切換。參考:使用相對Url無縫切換HTTP-HTTPS

總結

如果是站內資源,最好是HTTP和HTTPS各一份,然後再通過相對路徑的方式引用,這樣就可以完美的解決掉這個問題了,比如Google首頁就是2種方式都提供了。對於站外的資源如果不支援HTTPS那就只能用iframe了

相關推薦

如何在HTTPS呼叫HTTP資源出現提示

什麼是HTTPS? HTTPS(全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內

https中引入http資源所導致的問題

前言 最近在週報系統和格子機專案中都出現了在測試服能夠正常執行,部署到正式服之後就出現問題,這些問題的原因就是:一般測試服都沒有安全性的需求,所以都是使用http協議。但是正式服現在一般都是使用更加安全的https協議。 問題 問題的關鍵就是在於這個協議的問題,瀏覽器預設是不允許在https裡面呼叫ht

https連線載入http資源

當https 連線中包含載入http資源時,瀏覽器會停止載入,UC瀏覽器console 會列印如下資訊:Mixed Content: The page at 'https://Xie.cn/' was loaded over HTTPS, but requested an i

檔案下載時出現提示直接開啟

//讀取檔案輸出它 string strFile = "c://abc.doc"; FileStream fs = new FileStream(strFile, FileMode.Open); byte[] bytes = new byte[(int)fs.Length];

https加載http資源,導致ios手機上的瀏覽器圖片加載問題

切換 加載 原因 分享圖片 分享 info 一個 tps www 今天解決一個線上bug的時候發現的問題,如下圖: 從表象來看,同樣的圖片,安卓手機上可以正常展示,但是到ios手機上首次進入頁面就不能正常顯示圖片,必須手動刷新一次頁面才能正常加載。 這時候,我們首先

xp/2003訪問網路共享出現登入的解決辦法

1.執行:gpedit.msc 2.組策略編輯器-“本地計算機”策略-計算機配置-Windows設定-安全設定-本地策略-安全選項    2.1禁用“賬戶:使用空白密碼的本地賬戶只允許進行控制檯登入”    2.2禁用“賬戶:來賓賬戶狀態”    2.3禁用“網路訪問:不

點擊HTML頁面問號出現提示

ext typeof data javascrip extend 加載 llb alt code 本demo的功能:點擊頁面按鈕在其邊緣出現提示信息,點擊頁面任何一處則消失。 如下圖: 1.所需插件: jquery插件; layer插件; 2.HTML內容: ==註

Bootstrap中使用modal如果表格checkbox未選中彈出提示

在做專案的時候因為bootstrap裡套用了modal作為彈框功能,所以點選按鈕以後直接彈出modal彈框,再填入資料執行新增刪除操作。 但是在刪除條目的時候希望能達到一點需求是對於checkbox的檢測,要先選擇一條資料然後才執行刪除的操作,來來這是我們的表格和check

https網頁加載http資源提示加載安全腳本

兩個 技巧 嵌入 安全腳本 asc 排除 推廣 onload div  https是當下的網站的主流趨勢,甚至像蘋果這樣的大公司,則完全要求用戶必須使用https地址。  然而對於以前http鏈接來說,我們往往就存在一個兼容性問題,因為你不可能一下就全部切換過去,應該在很長

https加載非https資源出現問題

blog 顯示 csdn uri 匹配 成了 資源下載 問題 不出 老規矩,國服第一博客copy王,原文鏈接:https://blog.csdn.net/zhengbingmei/article/details/81325325將系統變成了https訪問之後,發現部分頁面的

HTTPHTTPS 直觀上看哪裡一樣了

1. 我在自己搭建的 HTTP 網站上進行登陸測試 填寫賬號和密碼,賬號:123456 ,密碼:654321 (當然是亂填的) 點選登入,用wireshark抓包看看傳輸的資料 2. 我把剛才的網站用ssl進行加密,成為 HTTPS 網站 點選登入,用wireshark抓包看看傳輸的資料

前後端分離,https站點無法通過Ajax訪問http資源(Mixed Content,The page at 'https://xxx.com' was loaded over HTTPS)

目前Web開發,大部分公司都用的是前後端分離模式,即前端專注於前端頁面互動,後端專注於功能實現及提供Web Api介面。 在某次新站點的開發過程中,為了網站的安全性,要求Web站點使用https協議,在部署到QA環境時,發現呼叫介面報如下的錯: 從提示的內容來看,大致可推斷出是因為站點是https協議

微信支付:伺服器(Java)統一下單獲取prepay_id成功,前端公眾號呼叫jsapi提示支付驗證簽名失敗

昨天折騰一宿,就是因為這個問題: 微信支付:伺服器統一下單獲取prepay_id成功,前端公眾號裡呼叫jsapi提示支付驗證簽名失敗(簽名工具測試簽名正確) 這裡預設的是簽名方式是MD5,前後兩個簽名方式不一至導致的“支付驗證簽名失敗”。 解決方法:前後兩個簽名方式調成

http/https介面呼叫

java呼叫http/https介面,使用httpclient! 引入jar:commons-httpclient-3.1.0.jar </pre>baseclient,需要呼叫介面的繼承此類,呼叫其中方法!</p><p><pre

C# 呼叫httphttps請求rest介面通用操作類

之前在做C#呼叫Restful介面的時候,因為時間比較匆忙,一直沒有把這個類好好整理一下。最近一方面對於ContentType的整理感覺很不方便,另一方面對於Restful介面http和https呼叫使用不同的類感覺很不方便,發現呼叫http和https只要用一句話就可以解

iTunes出現提示“iTunes能讀取iPhone的內容,請前往iPhone偏好設定的摘要選項卡,然後點選“恢復”以將此iPhone恢復為出廠設定。”

有次iTunes出現提示“ iTunes不能讀取iPhone的內容,請前往iPhone偏好設定的摘要選項卡,然後點選“恢復”以將此iPhone恢復為出廠設定。”,死活連不上iTunes。 後來上網搜了下,找到了解決方案,以下是簡單總結:

請求的資源支援 http 方法“GET” 解決

使用web api 開發介面時遇到 請求的資源不支援 http 方法“GET” 的問題: 因為引用了using System.Web.Mvc  ,改為 using System.Web.Http; 或給方法名加get字首,如getCancelOrder

https 頁面中引入 http 資源的解決方式

相對協議 應用場景 瀏覽器預設是不允許在 https 裡面引用 http 資源的,一般都會彈出提示框。 使用者確認後才會繼續載入,使用者體驗非常差。 而且如果在一個 https 頁面裡動態的引入 http 資源,比如引入一個 js 檔案,會被直接 block 掉的

HTTPSHTTP】網易新聞首頁https跨協議呼叫http的問題

今天在上班的時候,朋友忽然給我發訊息讓看下網易新聞的首頁,於是我開啟百度,輸入“網易新聞”,然後點開了百度推薦的第一條: 網頁排版是亂的,這種問題一看就是CSS檔案沒加載出來。 朋友:你說,這是網路原因還是他們(網易)網站出問題了?

解決頁面下載檔案,資源存在頁面出現空白的問題。

框架和環境:ssm+maven3.0+db2+easyui1.4+jdk1.7 功能背景:第一步是通過定時輪詢把封閉系統請求的入參報文生成檔案放到共享盤的目錄。同時把檔案的路徑資訊存到資料庫表。第二步就是我這個頁面的功能,把生成的檔案資訊列表顯示並可以選