)
Axios v1.x 版本演進全解析基于 CHANGELOG 讀懂安全加固、功能迭代與適配器演進v1.0.0 → v1.19.0【免費下載鏈接】axiosPromise based HTTP client for the browser and node.js項目地址: https://gitcode.com/GitHub_Trending/ax/axios本文以倉庫內(nèi)的 CHANGELOG.md 為骨架系統(tǒng)梳理 Axios面向瀏覽器與 Node.js 的 Promise 風格 HTTP 客戶端從 v1.0.02022-10-04到 v1.19.02026-07-22的完整版本記錄重點解讀其中的安全修復脈絡(luò)、新功能演進、適配器與多運行時支持以及升級前必須關(guān)注的行為變更。每一條關(guān)鍵改動都會對照lib/下的實際源碼進行交叉印證幫助你在選型、升級或排查回歸問題時快速定位版本間的安全邊界差異與行為變化。一、版本脈絡(luò)總覽從 v1.0.0 到 v1.19.0CHANGELOG 當前記錄的最新版本為 v1.19.0。這一版本與倉庫 package.json 中聲明的version: 1.19.0保持一致也說明本倉庫快照對應 1.19.0 發(fā)布后的代碼狀態(tài)。整條 v1.x 時間線可以劃分為三個階段初始發(fā)布期1.0.0 ~ 1.3.x2022-10 ~ 2023-041.x 大版本落地補齊toFormData、formToJSON、自定義paramsSerializer、Node.js data URL 支持等基礎(chǔ)能力。安全與功能密集迭代期1.4.0 ~ 1.13.x2023-04 ~ 2026-01引入 fetch 適配器、HTTP/2、allowAbsoluteUrls等里程碑功能同時密集處理 CSRF、ReDoS、SSRF、原型污染等安全漏洞。安全加固與多運行時支持期1.14.0 ~ 1.19.02026-02 ~ 2026-07全面轉(zhuǎn)向供應鏈加固、CRLF/原型污染縱深防御、allowedSocketPathsSSRF 白名單并正式支持 Deno、Bun 運行時。下表匯總了各版本的核心主題完整逐條記錄見 CHANGELOG.md版本日期核心主題1.0.02022-10-041.x 大版本toFormData、formToJSON、paramsSerializer、data URL、AxiosError增強1.1.0 ~ 1.1.32022-10CommonJS/UMD 導出修復、clear()攔截器、自定義paramsSerializer1.2.0 ~ 1.2.62022-11 ~ 2023-01模塊導出重構(gòu)、AxiosHeaders改進、AxiosError.toJSON防循環(huán)引用1.3.0 ~ 1.3.62023-01 ~ 2023-04規(guī)范符合的 FormData/Blob 支持、自定義lookup函數(shù)、AxiosHeaderValue導出1.4.02023-04-27自定義lookup函數(shù)DNS、mergeConfig性能優(yōu)化1.5.0 ~ 1.5.12023-08 ~ 2023-09導出getAdapter、無unsafe前綴導出適配器1.6.0 ~ 1.6.82023-10 ~ 2024-03CVE-2023-45857CSRF/XSRF、withXSRFToken、ReDoS 修復1.7.0-beta.0 ~ 1.7.02024-04 ~ 2024-05fetch 適配器落地1.7.1 ~ 1.7.92024-05 ~ 2024-12CVE-2024-39338SSRF、fetch/XHR 細節(jié)修復1.8.0 ~ 1.8.42025-02 ~ 2025-03allowAbsoluteUrls配置BREAKING1.9.02025-04-24AxiosHeaders.getSetCookie()1.10.0 ~ 1.12.02025-06 ~ 2025-09fetchenv配置變量、JSON.parsereviver、底層錯誤經(jīng)cause暴露1.13.0 ~ 1.13.62025-10 ~ 2026-02HTTP/2 支持、useLegacyInterceptorOrder、isAbsoluteURL校驗、React Native Blob1.14.02026-03-27測試套件遷移 Vitest、formidable升級 v3、CommonJS 兼容修復1.15.02026-04-07CRLF 頭注入防護、shouldBypassProxySSRF、Deno/Bun 官方支持、CI 供應鏈加固1.15.12026-04-19頭注入、withXSRFToken真值繞過、maxBodyLength零重定向修復1.15.22026-04-21allowedSocketPathsSSRF 白名單、keep-alive 連接池內(nèi)存泄漏修復1.16.0 ~ 1.16.12026-05QUERY 方法、ECONNREFUSED常量、fetch 適配器強制maxBodyLength/maxContentLength1.17.02026-06-01Node HTTP zstd 解壓、transitional.advertiseZstdAcceptEncoding1.18.02026-06-13transitional.validateStatusUndefinedResolves、跨域重定向敏感頭剝離、ERR_INVALID_URL1.19.02026-07-22form-data 版本下限提升、AxiosHeaders.parseParameters()、Cloudflare 520 狀態(tài)碼、NO_PROXY 匹配加固說明版本號遵循語義化版本SemVer原則1.x主版本內(nèi)只引入向后兼容的功能與修復破壞性變更如allowAbsoluteUrls會在 CHANGELOG 中單獨以BREAKING CHANGES標注。關(guān)于版本策略的完整約定可參閱倉庫文檔 semver.md跨版本遷移注意事項見 MIGRATION_GUIDE.md。二、安全修復演進線重點安全修復是 CHANGELOG 中最密集、也最值得逐條閱讀的線索。v1.x 的安全加固呈現(xiàn)出明顯的“縱深防御”趨勢從最初修復單點漏洞CSRF、ReDoS逐步演進到對配置讀取、請求體/響應體限制、頭注入、SSRF、原型污染的全面加固。以下按時間線梳理并對照源碼印證。2.1 早期漏洞CSRF、ReDoS 與原型污染v1.6.0CVE-2023-45857修復了一個 CSRF 漏洞其本質(zhì)是withXSRFToken/憑證相關(guān)路徑在非標準環(huán)境下可能泄露 XSRF token。該修復在 CHANGELOG 中以 “?? Critical vulnerability fix” 標注。v1.6.3ReDoS#6132修復了正則表達式拒絕服務(wù)漏洞與后續(xù)版本中對parseProtocol、參數(shù)解析等正則的收緊一脈相承。v1.6.4原型污染#6167修復formToJSON原型污染漏洞。當前源碼 lib/helpers/formDataToJSON.js 第 81 行保留了顯式防護在buildPath中遇到name __proto__時直接return true跳過確保污染鍵無法通過反序列化寫入對象原型。// lib/helpers/formDataToJSON.js節(jié)選 function buildPath(path, value, target, index) { // ... let name path[index]; if (name __proto__) return true; // 第 81 行原型污染防護 // ... }2.2 SSRF 與協(xié)議校驗v1.7.4CVE-2024-39338#6539拒絕協(xié)議相對 URL//host/...修復 SSRF。這一約束直接體現(xiàn)在當前的協(xié)議解析邏輯中。lib/helpers/parseProtocol.js 的正則要求協(xié)議分隔符必須帶冒號// lib/helpers/parseProtocol.js export default function parseProtocol(url) { const match /^([-\w]{1,25}):(?:\/\/)?/.exec(url); return (match match[1]) || ; }v1.18.0#11000進一步收緊——對于省略//的畸形http:/https:URL直接拋出ERR_INVALID_URL。這一邏輯位于 lib/core/buildFullPath.js第 8 行的malformedHttpProtocol /^https?:(?!\/\/)/i配合第 45–56 行的assertValidHttpProtocolURL完成校驗。2.3 頭注入與 CRLF 防御v1.15.0CRLF 頭注入#10660拒絕任何包含\r或\n的頭值阻斷可用于竊取云元數(shù)據(jù)IMDS的 CRLF 注入鏈。行為變更含 CR/LF 的頭現(xiàn)在會拋出Invalid character in header content。v1.15.1#10749、#10758收緊請求頭構(gòu)造的校驗與清洗并在 multipart 頭值中正確剝離 CR/LF防止通過字段名/文件名注入。v1.15.1withXSRFToken真值繞過#10762對任何“真值但非布爾”的配置短路避免歧義配置導致 XSRF token 跨源靜默泄露。2.4 請求體/響應體限制與maxBodyLengthv1.15.1#10753、#10754即使在maxRedirects: 0時也強制maxBodyLength并對流式響應應用maxContentLength封堵超大請求體繞過路徑。v1.16.0#10795fetch 適配器開始強制執(zhí)行maxBodyLength與maxContentLength——在 1.16.0 之前這兩個限制在 fetch 適配器上被靜默忽略。這是一項可觀察行為變更依賴其作為 DoS 防護的舊代碼需要重新評估詳見第五節(jié)。2.5 SSRF 白名單shouldBypassProxy與allowedSocketPathsv1.15.0#10661引入shouldBypassProxy輔助函數(shù)在評估no_proxy/NO_PROXY規(guī)則前規(guī)范化主機名去除尾部點、處理括號 IPv6堵住回環(huán)/內(nèi)網(wǎng)主機被意外代理的缺口。v1.15.2#10777新增allowedSocketPaths配置選項用于限制 Node HTTP 適配器允許的 Unix domain socket 路徑從而緩解通過socketPath的 SSRF不匹配時返回AxiosError的ERR_BAD_OPTION_VALUE。該白名單校驗位于 lib/adapters/http.js 第 957–961 行附近。// lib/adapters/http.js節(jié)選 const allowedSocketPaths own(allowedSocketPaths); if (allowedSocketPaths ! null) { const allowed Array.isArray(allowedSocketPaths) ? allowedSocketPaths : [allowedSocketPaths]; // ... 對 socketPath 做白名單校驗不匹配則拋 ERR_BAD_OPTION_VALUE }v1.19.0NO_PROXY 匹配加固#11029、#11053在 NO_PROXY 匹配時規(guī)范化 IPv4 的簡寫/八進制/十六進制形式并支持逗號或空格分隔列表中的*條目。這一復雜度直接體現(xiàn)在 lib/helpers/shouldBypassProxy.jsnormalizeIPAddress第 61 行起負責把127.1、1.2.3、八進制、0x十六進制等形態(tài)還原為點分十進制shouldBypassProxy第 438 行起在第 453–455 行處理noProxy *的整體繞過并對每個條目做 CIDR、后綴、端口與回環(huán)判定。2.6 原型污染縱深防御v1.13.5#7369加固mergeConfig忽略__proto__、constructor、prototype鍵防止合并用戶配置時的原型污染拒絕服務(wù)。v1.15.2#10779Node HTTP 適配器及resolveConfig/mergeConfig/validator 路徑只讀取自有屬性并使用 null 原型配置對象防止被污染的auth、baseURL、socketPath、beforeRedirect、insecureHTTPParser影響請求。v1.16.1#7413formDataToJSON通過只遍歷自有屬性防御已被污染的Object.prototype。v1.17.0#10901、#10922用自有屬性檢查保護socketPath、params、paramsSerializer的讀取阻斷繼承原型值影響請求行為含 SSRF 敏感路徑。2.7 供應鏈與發(fā)布安全v1.15.2#10776新增.npmrcignore-scriptstrue、lockfile lint CI、可復現(xiàn)構(gòu)建 diff、范圍化 CODEOWNERS擴展 SECURITY.md 與 THREATMODEL.md含npm audit signatures溯源驗證、60 天解決策略與事件響應手冊。v1.15.0#10618 等CI 安全加固——引入 zizmor Actions 安全掃描、npm 發(fā)布切換 OIDC Trusted Publishing移除長期NODE_AUTH_TOKEN、所有 action 引用固定到完整 commit SHA、工作流權(quán)限最小化、發(fā)布步驟置于獨立npm-publish環(huán)境、禁止 fork 運行 sponsor 工作流。v1.17.0#10926發(fā)布工作流切換 npm staged publishing更安全、可審計、帶 provenance。v1.19.0#11083簡化 v1 發(fā)布改用 Node.js 26 自帶的 npm。2.8 最新依賴漏洞form-data CRLF 注入v1.19.0v1.19.0#11028將form-data依賴版本下限提升到^4.0.6避免新安裝解析到受 CRLF 注入漏洞影響的版本。這一點在當前 package.json 的依賴中可直接驗證form-data: ^4.0.6與 CHANGELOG 描述一致。三、新功能與能力演進線除安全外CHANGELOG 記錄了若干改變使用方式的里程碑功能。以下按主題梳理并對照源碼。3.1 fetch 適配器v1.7.0里程碑v1.7.0-beta.02024-04-28→ v1.7.02024-05-19#6371正式引入 fetch 適配器成為 Node 環(huán)境下的第三適配層。后續(xù)版本圍繞 fetch 適配器做了大量打磨v1.7.0-beta.1#6380將 fetch 相關(guān)TypeError歸類為AxiosError.ERR_NETWORKv1.7.6#6524修正 FormData 載荷的Content-Length計算#6582優(yōu)化信號組合邏輯v1.7.7#6584Safari 流處理回退到流讀取器v1.7.5#6533Cloudflare Workers 憑證處理v1.12.0#7003為 fetch 適配器新增fetch/Request/Response的env配置變量#6982將底層網(wǎng)絡(luò)錯誤細節(jié)通過cause暴露v1.16.0#10795、#10772、#10806強制maxBodyLength/maxContentLength、User-Agent與 HTTP 適配器對齊、保留原始 abort 原因。3.2 配置與請求控制v1.1.3#5113支持自定義paramsSerializer。v1.4.0#5339支持自定義lookup函數(shù)DNS 解析可插拔。v1.5.0#5324、#5839導出getAdapter并以無unsafe前綴導出適配器。v1.6.2#6046新增withXSRFToken選項作為恢復舊版withCredentials行為的替代方案需與withCredentials配合使用。v1.8.0#5902、#6192新增忽略絕對 URL 的配置allowAbsoluteUrls這是一項BREAKING CHANGE——此前依賴“請求 URL 優(yōu)先于合并”的代碼現(xiàn)在會改為合并 URL。該邏輯位于 lib/core/buildFullPath.js 第 68–76 行allowAbsoluteUrls false時強制走combineURLs。v1.9.0#5707AxiosHeaders新增getSetCookie()方法。v1.13.5#7326isAbsoluteURL增加輸入校驗優(yōu)雅處理畸形/意外輸入。3.3 HTTP/2 與壓縮v1.13.0#7150Node HTTP 適配器新增 HTTP/2 支持會話池邏輯在v1.17.0#10861被抽取為獨立輔助模塊 lib/helpers/Http2Sessions.jssessionTimeout默認 1000ms并補充會話池、超時、清理行為的單元測試。v1.13.3#7256HTTPS 連接默認使用 443 端口。v1.17.0#6792、#10920Node HTTP 適配器支持 zstd 響應解壓由transitional.advertiseZstdAcceptEncoding控制是否在Accept-Encoding中聲明zstd。源碼印證lib/defaults/transitional.js 第 8 行advertiseZstdAcceptEncoding: falselib/adapters/http.js 第 49 行定義zstdOptions、第 57 行拼接ACCEPT_ENCODING_WITH_ZSTD、第 1190 行對zstd內(nèi)容編碼分支調(diào)用zlib.createZstdDecompress。3.4 類型與序列化增強v1.12.0#5926JSON.parse支持 reviver#7003fetchenv配置變量。v1.16.0#10802、#10680、#6897支持 QUERY HTTP 方法跨適配器與類型定義AxiosError暴露ECONNREFUSED常量便于按常量而非字符串匹配“連接被拒絕”——見 lib/core/AxiosError.js 第 208 行從buildURL導出內(nèi)部encode輔助函數(shù)便于用戶自定義參數(shù)序列化器復用 axios 的編碼邏輯。v1.17.0#10952、#10956修正AxiosHeaders.toJSON()返回類型并將 CommonJSisCancel類型收窄到CanceledErrorT。v1.18.0#10899新增transitional.validateStatusUndefinedResolves讓應用可選擇把validateStatus: undefined當作“未提供該選項”處理而validateStatus: null仍是“接受所有狀態(tài)”的顯式方式。源碼印證lib/defaults/transitional.js 第 9 行validateStatusUndefinedResolves: trueindex.d.ts 第 305–306 行聲明兩個transitional字段。v1.19.0#11043、#11081、#11051、#11067讓mergeConfig保留自有可枚舉的 symbol 鍵字段并在公開 TypeScript 聲明、響應、錯誤、適配器與序列化器中引入通用params類型新增可選的AxiosHeaders.parseParameters()解析器引號感知、RFC 風格 HTTP 參數(shù)解析同時保留舊的解析行為——見 lib/core/AxiosHeaders.js 第 414–415 行static parseParameters補上缺失的 Cloudflare520 WebServerReturnsAnUnknownError狀態(tài)碼及對應 ESM/CJS 聲明——見 lib/helpers/HttpStatusCode.js 第 73 行。3.5 錯誤與序列化健壯性v1.19.0#11044、#11059在 JSON 兼容快照中將Set值序列化為數(shù)組并為原本為空的AggregateError合成有用的AxiosError消息。源碼印證lib/core/AxiosError.js 第 83–96 行aggregateErrorMessage在AxiosError.from第 99–131 行中當error.message為空且存在error.errors時調(diào)用從而避免雙棧/Happy-Eyeballs 連接失敗時出現(xiàn)空白消息。v1.19.0#11008、#11038畸形協(xié)議錯誤中帶上“規(guī)范化、安全脫敏”的出錯 URL并在拼接 base URL 時去除重復的尾斜杠。源碼印證lib/core/buildFullPath.js 第 18–43 行redactSensitiveURLParts用 lib/core/AxiosError.js 第 6 行導出的REDACTED標記替換 userinfo、查詢值、fragment第 50 行將脫敏 URL 嵌入ERR_INVALID_URL消息。v1.19.0#11035組合中止信號時立即傳播“已中止”的輸入信號。源碼印證lib/helpers/composeSignals.js 第 53–56 行遍歷信號時若signal.aborted為真則直接onabort而非等待后續(xù)abort事件。v1.19.0#11061修正 base64data:URL 的大小估算使maxContentLength在 HTTP 與 Fetch 適配器間一致執(zhí)行。源碼印證lib/helpers/estimateDataURLDecodedBytes.js 同時導出estimateDataURLDecodedBytes面向 Fetch第 148 行與estimateDataURLBufferAllocation面向 NodeBuffer.from第 164 行分別對應兩種解碼路徑的真實字節(jié)占用。四、適配器與多運行時支持演進Axios 通過適配層抹平環(huán)境差異Node 使用http適配器瀏覽器使用xhr/fetch并逐步擴展到 Deno、Bun、React Native。4.1 三大適配器httpNodelib/adapters/http.jsxhr瀏覽器lib/adapters/xhr.jsfetchv1.7.0lib/adapters/fetch.js適配器的加載與按名導出在 v1.2.0#5277 “allowing adapters to be loaded by name”、v1.5.0導出getAdapter逐步成型。4.2 Nodehttp適配器的關(guān)鍵修復v1.13.1#7193修復非 OK 狀態(tài)響應時數(shù)據(jù)流被中斷的回歸。v1.13.2#7206修復 keep-alive 請求在帶超時時的socket hang up#7202提前退出循環(huán)的性能改進。v1.15.2#10788修復 keep-alive 連接池內(nèi)存泄漏——為每個 socket 安裝單一error監(jiān)聽器通過kAxiosSocketListener/kAxiosCurrentReq追蹤活躍請求消除按請求累積監(jiān)聽器導致的MaxListenersExceededWarning與線性堆增長。v1.17.0#10957通過 HTTP CONNECT 代理隧穿 HTTPS 請求時保留用戶httpsAgent的 TLS 選項。4.3 XHR / 瀏覽器細節(jié)v1.16.0#10787在 error、timeout、abort 路徑上退訂cancelToken與AbortSignal監(jiān)聽器防止訂閱泄漏。v1.16.1#10868防止某些環(huán)境在 XHR 上傳時輸出的畸形ProgressEvent缺失/非法loaded/total導致崩潰。v1.16.1#10864修復 fetch 適配器中 Webpack 4 無法解析的語法恢復舊版打包器兼容性。4.4 Deno、Bun 與 React Native 支持v1.13.3#5754為package.json增加bun導出條件讓 Bun 加載 Node.js 構(gòu)建而非瀏覽器構(gòu)建。當前 package.json 的exports中同時存在bun、react-native、browser、default條件印證了這一演進。v1.15.0#10652為 Deno 與 Bun 增加完整 smoke 測試套件并在每次發(fā)版前于 CI 中運行兩種運行時。倉庫中對應目錄為 tests/smoke/deno 與 tests/smoke/bunpackage.json 的 scripts 提供test:smoke:denodeno task ...與test:smoke:bunbun test --cwd tests/smoke/bun。v1.13.6#5764在 React Native 環(huán)境正確處理原生Blob對象。v1.13.6#7386修復 React Native / Browserify 的模塊導出問題。適用前提Deno/Bun 的官方支持smoke 套件 CI 前置校驗自 v1.15.0 起bun導出條件自 v1.13.3 起。低版本運行時的行為可能不一致升級前建議在目標運行時跑一次 smoke 測試。五、升級前必須關(guān)注的行為變更CHANGELOG 中有一批“可觀察行為變更”直接決定升級是否安全。建議升級時按下表逐項核對版本變更影響與建議1.7.4拒絕協(xié)議相對 URLSSRF#6539依賴//host/...形式請求的代碼會失效需改為完整協(xié)議 URL1.8.0allowAbsoluteUrlsBREAKING#6192默認改為合并 base 與請求 URL如需舊行為需顯式配置1.13.5攔截器執(zhí)行順序變化依賴 v1.13 之前順序的應用可啟用useLegacyInterceptorOrder回退1.15.0含 CR/LF 的頭值拋錯舊代碼若向頭中注入換行會由“靜默”變?yōu)椤皰伄惓!?.16.0fetch 適配器強制maxBodyLength/maxContentLength之前被忽略的體積上限現(xiàn)在真正生效超大請求/下載可能開始報錯1.16.0代理路徑保留用戶Host頭#10822虛擬主機式代理路由行為改變1.16.0URL 內(nèi)嵌 Basic auth 憑據(jù)改為 URL 解碼#10825形如https://user:p%40sshost現(xiàn)在按解碼值上網(wǎng)1.16.0unescape()替換為現(xiàn)代 UTF-8 編碼#7378非 ASCII URL 處理回歸規(guī)范依賴舊unescape怪癖的輸出字節(jié)可能不同1.18.0畸形http:/https:URL 拋ERR_INVALID_URL#11000省略//的 URL 不再被寬松解析1.19.0同步請求攔截器失敗后不再派發(fā)請求#11071除非配對的 rejection 處理成功否則請求不再發(fā)出1.19.0負進度值鉗制為 0#11039進度回調(diào)不再出現(xiàn)負值以v1.16.0為例CHANGELOG 明確提示 fetch 適配器的maxBodyLength/maxContentLength此前被靜默忽略把 axios 從 1.15.x 升到 1.16.0 的團隊若之前依賴“無體積限制”的默認需重新評估下載/上傳上限否則可能出現(xiàn)新的ERR_BAD_RESPONSE/體積相關(guān)錯誤。六、工程化與發(fā)布流程演進CHANGELOG 的 “Maintenance Chores” 部分記錄了工程鏈路的演進對理解倉庫的構(gòu)建與測試布局很有幫助v1.2.2引入 conventional-changelog 自動化與 GitHub Actions 發(fā)布腳本#5384、#5397 等奠定自動發(fā)布基礎(chǔ)。v1.14.0#7484 等測試套件整體遷移到 Vitest、ESLint 升級 v10、Rollup 升級、Husky 9、TypeScript 升級、Express 測試腳手架現(xiàn)代化。當前 package.json 的test指向vitest run并提供test:vitest:unit、test:vitest:browser等分項印證遷移完成。v1.15.0CI 供應鏈安全加固OIDC 發(fā)布、SHA 固定、權(quán)限最小化見第 2.7 節(jié)。v1.17.0#10939通過files白名單并去掉不需要的未壓縮 source map降低發(fā)布包體積。當前 package.json 的files字段即為白名單形式。v1.19.0#11054僅對發(fā)布的壓縮 bundle 生成 source map從非壓縮構(gòu)建中移除失效的 map 引用。運行/查看方式均為只讀說明不修改倉庫單元測試npm run test:vitest或分項test:vitest:unit/test:vitest:browserDeno smokenpm run test:smoke:denoBun smokenpm run test:smoke:bun構(gòu)建npm run build七、如何高效閱讀 CHANGELOG 并定位源碼結(jié)合本倉庫建議按以下方式把 CHANGELOG 條目落到可驗證的代碼位置確認當前版本先讀 package.json 的version字段對齊 CHANGELOG 頂部版本當前為 1.19.0。安全條目在 CHANGELOG 的 Security Fixes小節(jié)按版本檢索 CVE/PR 號再對照源碼印證——例如shouldBypassProxy見 lib/helpers/shouldBypassProxy.js原型污染防護見 lib/helpers/formDataToJSON.js、lib/core/mergeConfig.jsSSRF 白名單見 lib/adapters/http.js。功能條目 New Features小節(jié)的配置項通常落在 lib/defaults/transitional.jstransitional 開關(guān)與 index.d.ts類型聲明行為實現(xiàn)落在對應適配器lib/adapters/*或核心lib/core/*。修復條目 Bug Fixes按模塊名http/fetch/xhr/headers/types定位到對應文件必要時再查tests/下同名測試用例佐證。版本語義與遷移配合 semver.md 理解版本約定配合 MIGRATION_GUIDE.md 處理跨版本遷移配合 SECURITY.md 與 THREATMODEL.md 理解安全邊界與披露策略。小結(jié)Axios 的 v1.x 演進是一條“功能落地 → 安全縱深加固 → 多運行時支持”的清晰主線。從 1.0.0 的基礎(chǔ)能力到 1.6.0/1.7.4 的 CSRF 與 SSRF 修復再到 1.15.x 的 CRLF/原型污染防御與allowedSocketPaths白名單直至 1.19.0 的 form-data 版本下限提升與 NO_PROXY 匹配加固每一步都能在lib/源碼中找到對應實現(xiàn)。對使用者而言讀懂這份 CHANGELOG 的價值在于升級前能預判安全邊界與行為變更尤其 1.16.0 的 fetch 體積上限、1.8.0 的allowAbsoluteUrls并能把每條變更精確映射到源碼與測試從而做出有依據(jù)的升級決策。【免費下載鏈接】axiosPromise based HTTP client for the browser and node.js項目地址: https://gitcode.com/GitHub_Trending/ax/axios創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考