我看視頻里老師在重發(fā)請求的時候,,get方法后面是能出現空格的,,我自己做的時候,發(fā)現不能有空格,,都得用%20替換,,否則響應頭直接報400錯誤,,,,,咋回事。,。我百度沒找到原因,。。,。(我用的2023.9和2020.8這兩個版本都是這情況)
視頻上說是查看回放記錄吧,,不是實時在操作,實時應該要%20
可能是工具問題,,有的工具是可以自動給你url編碼的,,命令行發(fā)送的就需要自己編碼了
不知道怎么設置才能像老師那樣
在URL中,空格和%20都用于表示空白字符,,但它們之間存在一定的差異,。
首先,,從編碼標準上來看,空格在URL中通常被編碼為加號+或%20,。根據W3C的標準,,當Content-Type為application/x-www-form-urlencoded時,空格應使用加號+進行編碼,。然而,,RFC 2396標準規(guī)定,在URI的查詢組件中,,保留字符需要轉義為%HH格式,,因此空格也被編碼為%20。這是因為加號+在某些應用中可能被視為非法字符,,而%20能被更廣泛地接受并正確解析為空格,。
其次,從瀏覽器兼容性的角度來看,,不同的瀏覽器可能對空格的編碼有不同的處理方式,。有些瀏覽器可能會將加號+解釋為空格,而有些則可能只識別%20作為空格的編碼,。這種差異可能會導致在不同的瀏覽器中訪問同一URL時出現不一致的結果,。
最后,從URL的設計初衷來理解,,URL最初是設計為可以通過書面形式轉錄的,,因此其構成字符必須是可書寫的ASCII字符。由于空格字符在書面轉錄中容易被忽略,,且在某些情況下可能會因意想不到的原因被引入,,因此被視為不安全字符,需要進行轉碼,。
綜上所述,雖然空格和%20在URL中都用于表示空白,,但由于編碼標準,、瀏覽器兼容性以及URL設計初衷的不同,它們在使用上可能會有所區(qū)別,。在實際應用中,,為了避免兼容性問題,使用%20來替代空格可能是一個更為穩(wěn)妥的選擇,。綜上所述,,當你在URL欄直接輸入空格時,瀏覽器可能不會將其解釋為有效字符,,而是會忽略或嘗試進行某種形式的編碼,。而當你輸入%20時,瀏覽器會根據標準將其解碼為空格,因此輸入%20是有效的,。