新聞中心
Redis 是一個開源的使用ANSI C語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫,由于它的高性能、可靠性和易用性,它被廣泛地應(yīng)用在許多電商網(wǎng)站及社交網(wǎng)站等場景??缬颍–ross-origin resource sharing)是什么?說得簡單點,就是當(dāng)你在瀏覽器中訪問某個站點的某些資源,但這個資源又不屬于這個站點,那么瀏覽器就會拋出跨域的問題。由于安全因素,比如CSRF攻擊,如果請求發(fā)出去攜帶了某個網(wǎng)站的Cookies,這時候就可能會有安全危險,這就是跨域問題。
在Redis跨域方面,要解決跨域的最有效的方式就是基于技術(shù)的解決方案。通過代理技術(shù),可以輕松解決redis跨域問題。下面就來介紹兩個解決Redis跨域的常用技術(shù):
第一種方案: 基于CORS的解決方案。CORS(Cross-Origin Resources Sharing)利用瀏覽器的特性,它可以實現(xiàn)相同站點、不同域名的跨域訪問,核心就是瀏覽器限制不同域名之間的訪問權(quán)限。當(dāng)瀏覽器端發(fā)送AJAX請求時,瀏覽器會首先發(fā)送一個預(yù)檢請求,其中會攜帶Origin及AJAX請求的相關(guān)信息,服務(wù)端會對Origin進(jìn)行驗證,決定是否給予瀏覽器端返回資源的權(quán)限。利用CORS,可以輕松解決跨域問題,以下是CORS的代碼設(shè)置示例:
“`js
// 允許所有域名經(jīng)過授權(quán)可訪問
res.writeHead(200, {
‘client-access-control-allow-origin’: ‘*’,
‘Access-Control-Allow-Headers’: ‘Content-Type’
});
// 只允許特定域名可訪問
res.writeHead(200, {
‘client-access-control-allow-origin’: ‘http://example.cn[,http://www.example.com]’,
‘Access-Control-Allow-Headers’: ‘Content-Type’
});
第二種方案:利用JSONP。JSONP(JSON with Padding)是一個可以跨域訪問的技術(shù),它通過在URL中添加回調(diào)函數(shù),使瀏覽器可以訪問js文件,進(jìn)而實現(xiàn)跨域的目的。JSONP假設(shè)網(wǎng)站A的頁面從網(wǎng)站B請求內(nèi)容,需要將代碼需要重新編寫,以下是使用JSONP進(jìn)行Redis跨域的示例代碼:
```js
var callback = getQueryString(url, 'callback');
var script = document.createElement('script');
script.src = url;
script.type = 'text/javascript';
document.body.appendChild(script);
function success(data) {
script.parentNode.removeChild(script);
window[callback](data);
}
從上面可以看出,代碼中添加的回調(diào)函數(shù),可以讓瀏覽器將 data 傳遞給回調(diào)函數(shù),最終達(dá)到跨域目的。
以上就是解決Redis跨域問題的兩種有效方式,CORS 是基于Http協(xié)議的解決方案,但是它要求服務(wù)端必須響應(yīng) Access-Control-Allow-Origin 字段;JSONP 利用腳本標(biāo)簽來注入后端資源,從而解決了跨域的問題。兩種解決方式各有優(yōu)缺點,使用時需根據(jù)實際需要做出選擇。
成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務(wù)器和獨立服務(wù)器。創(chuàng)新互聯(lián)成都老牌IDC服務(wù)商,專注四川成都IDC機房服務(wù)器托管/機柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機房租用、服務(wù)器托管、機柜租賃、大帶寬租用,可選線路電信、移動、聯(lián)通等。
網(wǎng)站題目:解決Redis跨域問題的有效方式(redis跨域問題)
分享URL:http://m.fisionsoft.com.cn/article/cdjcgjp.html


咨詢
建站咨詢
