国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

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

瀏覽:35日期: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
相關文章:
主站蜘蛛池模板: 汉寿县| 安泽县| 多伦县| 黔西县| 仪陇县| 庆云县| 姚安县| 吴忠市| 绥棱县| 固镇县| 磴口县| 武强县| 石嘴山市| 平安县| 会泽县| 留坝县| 紫阳县| 济阳县| 股票| 巩义市| 南投县| 灵川县| 元朗区| 依安县| 柘城县| 得荣县| 康保县| 通化县| 富阳市| 含山县| 安远县| 兴山县| 怀集县| 广平县| 阿瓦提县| 同德县| 洛川县| 商南县| 韶山市| 永新县| 南汇区|