我一直在網上尋找有關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的呼叫啟用?謝謝
添加回答
舉報
0/150
提交
取消