亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

了解CORS

了解CORS

我一直在網上尋找有關CORS的信息,我想確認一下我用它做的是什么,實際上是什么。下面提到的是完全虛構的情況。我將以一個普通網站為例。假設我的html頁面有一個采用文本字段名稱的表單。提交后,它將表單數據發送到myPage.php。現在,內部發生的事情是,服務器將請求www.mydomain.com/mydirectory/myPage.php與文本字段一起發送到。現在,服務器看到請求是從相同的域/端口/協議中觸發的(問題1。服務器如何知道所有這些詳細信息。它從哪里提取所有這些詳細信息?)但是,由于請求來自同一域,因此它將服務器php腳本并返回所需的內容?,F在,為了便于討論,假設我不想手動填充文本字段中的數據,而是想以編程方式進行操作。我要做的是,我用javascript創建一個html頁面,并觸發POST請求以及參數(即textField的值)?,F在,由于我的請求并非來自任何域,因此服務器將忽略該服務。我得到跨域錯誤?同樣,我也可以編寫一個Java程序,該程序利用HTTPClient / Post請求并執行相同的操作。問題2:這是什么問題?現在,CORS為我們提供的是,服務器將說“任何人都可以訪問myPage.php”。在enable cors.org中說對于簡單的CORS請求,服務器僅需在響應中添加以下標頭:Access-Control-Allow-Origin:*現在,客戶端將如何處理此標頭。在這種情況下,客戶端仍然想調用服務器上的資源,對嗎?應該由服務器來決定是否要接受或不接受,并相應地采取措施。問題3:將標頭發送回客戶端(已向服務器發出請求)有什么用?最后,我不明白的是,我正在為我的android應用構建一些RESTful服務。現在,說我有一個POST服務www.mydomain.com/rest/services/myPost。我已經在本地計算機上托管了這些服務的Tomcat服務器。在我的android應用中,我只是調用此服務,然后將結果取回(如果有的話)。在這種情況下,我到底在哪里使用CORS。這是否屬于服務器調用的不同類別?如果是,那么如何。此外,我檢查了“ 為Tomcat啟用Cors”,它說我可以在動態Web項目的web.xml中添加一個過濾器,然后它將開始接受它。問題4:是什么使從我的android設備到我的webservices的呼叫啟用?謝謝
查看完整描述

3 回答

?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

對于問題3,您需要了解兩個站點與客戶端瀏覽器之間的關系。正如Krumia在回答中提到的那樣,這更多是請求中三個參與者之間的約定。

我最近發布了一篇文章,其中詳細介紹了CORS握手如何設計工作。


查看完整回答
反對 回復 2019-09-26
?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

即使CORS來源不被認可,支持CORS的API是否應該執行請求?我已經看到了一個CORS的實現,其中始終執行請求,但是響應中的CORS標頭只有在識別出Origin的情況下才由服務器設置。不確定這是否是好的設計?

查看完整回答
反對 回復 2019-09-26
  • 3 回答
  • 0 關注
  • 544 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號