一、跨域CORS是什么
成都創(chuàng)新互聯(lián)公司是專業(yè)的九龍坡網(wǎng)站建設(shè)公司,九龍坡接單;提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行九龍坡網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!當(dāng)一個(gè)資源從與該資源本身所在的服務(wù)器的域或端口不同的域或不同的端口請(qǐng)求一個(gè)資源時(shí),瀏覽器會(huì)發(fā)起一個(gè)跨域 HTTP 請(qǐng)求。出于安全考慮,瀏覽器會(huì)限制從腳本內(nèi)發(fā)起的跨域HTTP請(qǐng)求或者攔截了服務(wù)器返回內(nèi)容。例如,XMLHttpRequest 和 Fetch 遵循同源策略。因此,使用 XMLHttpRequest或 Fetch 的Web應(yīng)用程序只能將HTTP請(qǐng)求發(fā)送到其自己的域;這種安全機(jī)制是為避免出現(xiàn)類似CSRF 跨站***等問(wèn)題。
二、實(shí)現(xiàn)CORS
根據(jù)CORS的定義和W3C相關(guān)規(guī)范,明白了跨域的關(guān)鍵問(wèn)題是在于服務(wù)端是否允許;而服務(wù)端是通過(guò)W3C所規(guī)定的相關(guān)CORS heades來(lái)實(shí)現(xiàn)的;相關(guān)headers如下:
Access-Control-Allow-Origin:*
該字段是必須的。它的值要么是請(qǐng)求時(shí)Origin字段的值,要么是一個(gè)*,表示接受任意域名的請(qǐng)求。
Access-Control-Allow-Methods: POST, GET, OPTIONS
該字段可選。表明服務(wù)器允許客戶端使用 POST, GET 和 OPTIONS
Access-Control-Allow-Headers: X-PINGOTHER, Content-Type
該字段可選。表明服務(wù)器允許請(qǐng)求中攜帶字段 X-PINGOTHER 與 Content-Type。
Access-Control-Max-Age: 86400
表明該響應(yīng)的有效時(shí)間為 86400 秒,也就是 24 小時(shí)。在有效時(shí)間內(nèi),瀏覽器無(wú)須為同一請(qǐng)求再次發(fā)起預(yù)檢請(qǐng)求。
Access-Control-Allow-Credentials: true
該字段可選。它的值是一個(gè)布爾值,表示是否允許發(fā)送Cookie。
跨域相關(guān)規(guī)范可以照文檔:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS
三、WCF restful實(shí)現(xiàn)CORS
1.
View Code
2.
View Code
3.在所要公開的服務(wù)類上面[CORS],例如:
四、js測(cè)試
測(cè)試結(jié)果:
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。