1. 程式人生 > >2018.6.14 總結一下今天踩到的兩個坑

2018.6.14 總結一下今天踩到的兩個坑

1、寫shell指令碼時:當我用數字開頭作為變數時(172file=***),報錯。

解決:變數名必須以字母或下劃線字元開頭。其餘的字元可以是字母、數字(0~9)或下劃線字元。

因為把變數改為:file172=***。


2、curl 請求nignx 後端程式碼時,發現傳的header頭,後端程式碼接收不到:

curl:www.xxx.com -H "interface_type:23333"

解決:

HTTP頭是可以包含英文字母([A-Za-z])、數字([0-9])、連線號(-)hyphens, 也可義是下劃線(_)。在使用nginx的時候避免使用包含下劃線的HTTP頭

原因:

伺服器之所以要預設禁止使用是因為 CGI 歷史遺留問題。 下劃線和中劃線都為會被對映為 CGI 系統變數中名中的下劃線,這樣容易引起混淆 在 nginx 伺服器中,通過顯式地設定 underscores_in_headers on 可以開啟在欄位名中使用下劃線。預設該選項是關閉的,所以在預設情況下,所有包含下劃線的欄位名都會被丟棄。