上網(wǎng)的時候,誰沒復制粘貼過鏈接、代碼或者配置信息呢?可有時候,一個不起眼的符號,就能讓你折騰半天。別小看那些@、#、&、%之類的字符,用錯了地方,輕則登錄失敗,重則系統(tǒng)報錯。
URL 里的 & 寫成 &&
很多人在拼接網(wǎng)址參數(shù)時,習慣性地把 & 寫成 &&,覺得“多寫一個更保險”。比如:
https://example.com/login?user=admin&&token=abc123
其實這會讓服務器只識別第一個參數(shù),第二個直接被忽略。正確寫法是每個參數(shù)之間用單個 & 連接:
https://example.com/login?user=admin&token=abc123
把 % 當作普通百分號使用
在 URL 或配置文件中,% 是特殊轉義符。比如你想表示“折扣80%”,寫成 discount=80%,瀏覽器可能會報錯,因為它以為你在寫 UTF-8 編碼(像 %E4%B8%AD 這種)。
正確的做法是把 % 編碼為 %25:
discount=80%25
@ 符號在郵箱和 URL 中混用出問題
有些人在填寫 API 地址時,把帶賬號密碼的 URL 寫成:
http://user:pass@192.168.1.1:8080/api
看起來沒問題,但現(xiàn)在很多瀏覽器和工具默認禁用這種寫法,容易被當成釣魚鏈接。更穩(wěn)妥的方式是用 token 或 Authorization 頭傳遞憑證。
# 號后面的內(nèi)容被當作文本錨點
你在調(diào)試接口時,如果 URL 帶了 #,比如:
https://api.site.com/data#section1
你會發(fā)現(xiàn),# 后面的部分根本不會發(fā)給服務器。因為瀏覽器認為這是頁面內(nèi)錨點,只在前端處理。想傳參就得把 # 換成 ? 或者對 # 編碼為 %23。
中文符號混入英文環(huán)境
最常見的是把英文冒號 : 錯打成中文全角::,或者用了中文引號“”代替"。系統(tǒng)一看就懵了,直接報語法錯誤。
尤其是在寫 JSON 配置時:
{“name”: “張三”}
看著像那么回事,實際運行就報錯。必須確保所有符號都是半角英文:
{"name": "zhangsan"}
空格沒編碼,導致鏈接斷裂
URL 里不能直接有空格。如果你寫了個帶空格的搜索詞:
https://search.com?q=用戶手冊
結果可能變成只傳了“用戶”,后面斷了??崭褚鎿Q成 %20 或用 +(在 query 參數(shù)中):
https://search.com?q=用戶%20手冊
這些符號問題,平時不起眼,一出事就卡住整個流程。下次復制鏈接或?qū)懪渲?,多瞄一眼符號,省得浪費時間查錯。