Posted on 2007-02-01 11:50
Matthew Chen 閱讀(182)
評(píng)論(0) 編輯 收藏
但大多數(shù)瀏覽器和客戶端裝置都把URL的長(zhǎng)度限制在255個(gè)字符長(zhǎng)
URL 編碼
URL 編碼是一種瀏覽器用來(lái)打包表單輸入的格式. 瀏覽器從表單中獲取所有的name和其中的值 ,將他們作為name/value參數(shù)編碼, 移去那些不能傳送的字符, 將數(shù)據(jù)排行等等,這些還取決于你用GET還是POST?作為URL的一部分或者分離地發(fā)給服務(wù)器. 不管哪種情況, 在服務(wù)器端的表單輸入格式樣子象這樣:
theName=Ichabod+Crane&gender=male&status=missing&headless=yes
這是一個(gè)專門(mén)對(duì)地址欄里所傳遞的參數(shù)進(jìn)行編碼的規(guī)則。
????比如在參數(shù)中帶有空格的話,傳遞參數(shù)時(shí)就會(huì)發(fā)生錯(cuò)誤,而用URL編碼過(guò)以后,空格變成了%20這樣就不會(huì)發(fā)生錯(cuò)誤了;另外中文字經(jīng)編碼后全是怪符號(hào),有利于保密。
????這個(gè)編碼后的字串提交給服務(wù)器后是不需要解碼的,網(wǎng)頁(yè)會(huì)自動(dòng)識(shí)別
URL編碼遵循下列規(guī)則:
每對(duì)name/value由&符分開(kāi).
每對(duì)來(lái)自表單的name/value由=符分開(kāi). 如果用戶沒(méi)有輸入值給這個(gè)name,那么這個(gè)name還是出現(xiàn),只是無(wú)值(象這樣 "name=").
任何特殊的字符(就是那些不是簡(jiǎn)單的七位ASCII,如漢字) 將以百分符%用十六進(jìn)制編碼. 當(dāng)然也包括象 =, &, 和 % 這些特殊的字符.
在輸入?yún)^(qū)中的空格將以加號(hào)+顯示.
因?yàn)楸韱屋斎胧怯眠@個(gè)URL編碼傳遞給你的腳本的,在你用這些參數(shù)之前必須解碼,因?yàn)榻獯a是個(gè)很普遍的工作,可以有很多工具做這個(gè)工作 . 你沒(méi)有必要自己寫(xiě)這個(gè)解碼程序.