久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

簡單了解django處理跨域請求最佳解決方案

瀏覽:81日期:2024-10-19 10:52:23

一、什么是跨域請求

跨域:

簡單來說就是 A 網站的 javascript 代碼試圖訪問 B 網站,包括提交內容和獲取內容。這顯然是不安全的。為此,瀏覽器的鼻祖:網景(Netscape)公司提出了優秀的解決方案:著名的瀏覽器同源策略。現在所有支持JavaScript的瀏覽器都會使用這個策略。

同源:域名、協議、端口均相同的網站即為同源。

流程:

當一個瀏覽器的兩個Tab頁分別打開百度和谷歌頁面時,百度發起一個腳本執行,此時瀏覽器會檢查該腳本屬于哪個頁面。即檢查是否同源。只有和百度同源的腳本才會被執行。若非同源,在請求數據時,瀏覽器會在控制臺報一個異常。提示拒絕訪問。

ps: 以上關于同源策略解釋參考自百度百科-同源策略。

二、關于解決跨域請求

解決跨域請求從前端到后端有N種解決方式。我不在此一一列舉。只分享一個目前看來對django處理跨域請求的最佳方案。

1.安裝django-cors-headers

pip install django-cors-headers

2.配置settings.py文件

INSTALLED_APPS = [ ... ’corsheaders’, ... ] MIDDLEWARE_CLASSES = ( ... ’corsheaders.middleware.CorsMiddleware’, ’django.middleware.common.CommonMiddleware’, # 注意順序 ...)#跨域增加忽略CORS_ALLOW_CREDENTIALS = TrueCORS_ORIGIN_ALLOW_ALL = TrueCORS_ORIGIN_WHITELIST = ( ’*’) CORS_ALLOW_METHODS = ( ’DELETE’, ’GET’, ’OPTIONS’, ’PATCH’, ’POST’, ’PUT’, ’VIEW’,) CORS_ALLOW_HEADERS = ( ’XMLHttpRequest’, ’X_FILENAME’, ’accept-encoding’, ’authorization’, ’content-type’, ’dnt’, ’origin’, ’user-agent’, ’x-csrftoken’, ’x-requested-with’,)

通過以上配置,即可完美解決django跨域請求處理。唯一需要注意的就是cors-headers的中間件CorsMiddleware在注冊時必須放在django-common中間件的前一個。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 襄城县| 叶城县| 德昌县| 伊金霍洛旗| 浠水县| 克什克腾旗| 青阳县| 仁化县| 昭觉县| 和静县| 武鸣县| 京山县| 长寿区| 江永县| 怀宁县| 和顺县| 焉耆| 内丘县| 西乡县| 灵宝市| 宁陕县| 南皮县| 当雄县| 永兴县| 民和| 温州市| 陇南市| 卢湾区| 荥经县| 娄烦县| 阿巴嘎旗| 临湘市| 德阳市| 博乐市| 溧阳市| 朝阳市| 壶关县| 太原市| 左贡县| 新乡县| 新巴尔虎右旗|