在不同的網路中請求nodejs服務的時候,容易被攔截,為了防止這個問題,我們需要在nodejs服務端,設定一下跨域訪問,設定跨域有兩種方式。
第一種:在express()框架中
res.header("access-control-allow-origin", "*");//允許的網域名稱( * 所有域)
res.header("access-control-allow-headers", "x-requested-with");//伺服器支援的頭資訊
res.header("access-control-allow-methods", "put,post,get,delete,options");//允許的方法
res.header("x-powered-by", ' 3.2.1')
next();
});在進行網路請求的時候,有三種傳值方式,其中的一種就是header傳值方式,我為了做身份驗證,就需要自己在header中放置一些資訊。下面是我的設定的跨域方式,僅供參考:
//restapi跨域訪問
res.header("access-control-allow-origin", "*");
res.header("access-control-allow-methods", "put,post,get,delete");
res.header("x-powered-by", ' 3.2.1');
res.header('access-control-allow-headers', 'x-requested-with, content-type, authorization, code, name, password, idcard, id, startindex, pagesize, sorting,startdate,enddate');
next();
})
第二種:直接引入cors模組。在koa2框架中
使用方式:
npm install cors;
var cors = require('cors');
我採用的是第一種方式;
詳細:
var cors = require('cors');http訪問控制(cors)//設定跨域訪問
'origin': '*',
'expose': ['www-authenticate', 'server-authorization'],
'maxage': 5,
'credentials': true,
'methods': ['get', 'post', 'delete'],
'headers': ['content-type', 'authorization', 'accept']
}));
http訊息頭(http headers)
從原理分析cors——我們到底是怎麼跨域的
關於設定http響應頭connection的作用
有的 會在伺服器執行一段時間後down掉,有很多原因可能造成這種現象 比如tomcat堆和非堆記憶體設定不足,程式沒能釋放記憶體空間造成記憶體 溢位,或者某些程序一直執行沒能釋放,造成cup資源大量消耗。但除了程式本身的原因,還有可能是客服端訪問造成 當然這個客戶端也包含如蜘蛛軟體等搜尋引擎 如果伺...
fiddler 設定斷點,修改http響應
fiddler不但能抓包,還能修改http報文。需要先設定斷點,攔下http請求報文或者http響應報文,然後再進行修改。設定斷點有2種方式 一 設定全域性斷點 啟動fiddler,單擊 選單欄 中的rules automatic breakpoint after response 這種方式會中斷所...
ndoejs中中介軟體的使用
用以封裝,處理http請求的細節,讓我們去處理業務邏輯而不是底層的一些繁瑣細節 例如下面的 var router require router var express require express var bodyparser require body parser express var fs ...