欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

NodeJS配置CORS實現(xiàn)過程詳解

 更新時間:2020年12月02日 14:45:35   作者:王者歸來!  
這篇文章主要介紹了NodeJS配置CORS實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

跨域問題主要在header上下功夫

首先提供一個w3c的header定義 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

再提供一個網(wǎng)友提供的header詳解 http://kb.cnblogs.com/page/92320/

這兩個有助于幫助大家理解header的類型和作用, 但是遺憾的是跨域相關(guān)的兩個header屬性我都沒有找到相關(guān)的定義,

下面直接告訴大家 1是Access-Control-Allow-Origin 允許的域 2是Access-Control-Allow-Headers 允許的header類型

第一項可以直接設(shè)為* 表示任意 但是第二項不能這樣寫,在chrome中測試跨域發(fā)現(xiàn)報錯, 最終的代碼看起來是這個樣子:

app.all('*', function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With");
  res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
  res.header("X-Powered-By",' 3.2.1')
  if(req.method=="OPTIONS") res.send(200);/*讓options請求快速返回*/
  else next();
});

另外有cors模塊可以用

CORS需要瀏覽器和服務(wù)器同時支持。目前,所有瀏覽器都支持該功能,IE瀏覽器不能低于IE10。

整個CORS通信過程,都是瀏覽器自動完成,不需要用戶參與。對于開發(fā)者來說,CORS通信與同源的AJAX通信沒有差別,代碼完全一樣。瀏覽器一旦發(fā)現(xiàn)AJAX請求跨源,就會自動添加一些附加的頭信息,有時還會多出一次附加的請求,但用戶不會有感覺。

因此,實現(xiàn)CORS通信的關(guān)鍵是服務(wù)器。只要服務(wù)器實現(xiàn)了CORS接口,就可以跨源通信。

瀏覽器將CORS請求分成兩類:簡單請求(simple request)和非簡單請求(not-so-simple request)。

只要同時滿足以下兩大條件,就屬于簡單請求。

(1) 請求方法是以下三種方法之一:

  • HEAD
  • GET
  • POST

(2)HTTP的頭信息不超出以下幾種字段:

  • Accept
  • Accept-Language
  • Content-Language
  • Last-Event-ID

Content-Type:只限于三個值application/x-www-form-urlencoded、multipart/form-data、text/plain

這是為了兼容表單(form),因為歷史上表單一直可以發(fā)出跨域請求。AJAX 的跨域設(shè)計就是,只要表單可以發(fā),AJAX 就可以直接發(fā)。

凡是不同時滿足上面兩個條件,就屬于非簡單請求。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 手把手教你使用TypeScript開發(fā)Node.js應(yīng)用

    手把手教你使用TypeScript開發(fā)Node.js應(yīng)用

    為了減少代碼編寫過程中出現(xiàn)的錯誤,以及更好的維護你的項目,本文將手把手教你配置一個簡單的開發(fā)環(huán)境來編寫Node.js的應(yīng)用程序,感興趣的小伙伴們可以參考一下
    2019-05-05
  • 詳解webpack打包nodejs項目(前端代碼)

    詳解webpack打包nodejs項目(前端代碼)

    這篇文章主要介紹了webpack打包nodejs項目(前端代碼),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Nodejs實現(xiàn)用戶注冊功能

    Nodejs實現(xiàn)用戶注冊功能

    本文通過實例代碼給大家介紹了Nodejs實現(xiàn)用戶注冊功能,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • nodejs開發(fā)環(huán)境配置與使用

    nodejs開發(fā)環(huán)境配置與使用

    經(jīng)過幾個星期的nodejs學習,從開始的小白到現(xiàn)在漸漸得熟悉,走過來也才算明白,現(xiàn)在已經(jīng)入門也掌握了相關(guān)的學習方法,今天開始記錄下自己學習的過程,以便日后查看。
    2014-11-11
  • Nodejs極簡入門教程(二):定時器

    Nodejs極簡入門教程(二):定時器

    這篇文章主要介紹了Nodejs極簡入門教程(二):定時器,本文講解了setTimeout、setInterval、setImmediate及process.nextTick等內(nèi)容,需要的朋友可以參考下
    2014-10-10
  • Node.js中Process.nextTick()和Process.setImmediate()的區(qū)別

    Node.js中Process.nextTick()和Process.setImmediate()的區(qū)別

    這篇文章介紹了Node.js中Process.nextTick()和Process.setImmediate()的區(qū)別,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 用node.js寫一個jenkins發(fā)版腳本

    用node.js寫一個jenkins發(fā)版腳本

    這篇文章主要介紹了用node.js寫一個jenkins發(fā)版腳本,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • 2014年最火的Node.JS后端框架推薦

    2014年最火的Node.JS后端框架推薦

    用nodejs開發(fā)web應(yīng)用,用哪個框架好?express?還是其他什么?今天小編就來給大家推薦一下今年最好用的幾款Node.js后端框架
    2014-10-10
  • node模塊機制與異步處理詳解

    node模塊機制與異步處理詳解

    這篇文章主要介紹了node模塊機制與異步處理詳解的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • Node.js  REPL (交互式解釋器)實例詳解

    Node.js REPL (交互式解釋器)實例詳解

    這篇文章主要介紹了Node.js REPL (交互式解釋器)實例詳解的相關(guān)資料,Node.js REPL(Read Eval Print Loop:交互式解釋器) 表示一個電腦的環(huán)境,類似 Window 系統(tǒng)的終端,我們可以在終端中輸入命令,并接收系統(tǒng)的響應(yīng),需要的朋友可以參考下
    2017-08-08

最新評論