Tag: URLエンコード

目次

参考情報

基本(FORMでデータを送信する場合を想定)

エンコード方法

  • 変数ごとにスペースを"+"に変換。
  • 変数ごとに英数字と一部記号以外を "% + 2桁の16進数"に変換
  • 変数名と値を"="で連結
  • 上記ペアを"&"で連結

デコード方法

エンコードの逆を行う

  • "&"でクエリ文字列を分割。
  • 変数名と値のペアを"="で分割。
  • "% + 2桁の16進数"を戻す。
  • "+"をスペースに戻す。

Rubyでエンコード

上記考えに基づくとパラメータごとにCGI.escapeして結合するのが確実か。

require 'cgi'
'http://www.example.com/test.cgi?name=' + CGI.escape('中田') + '&addr=' + CGI.escape('山梨')

GETとPOSTの違い

GET

  • URL文字列に直接クエリが追加されて送信される。
    GET /test.cgi?name=nakata HTTP/1.0

POST

  • BODY部分にクエリが追加されて送信される。
    POST test.cgi? HTTP/1.0
    ...
    
    name=nakata
    

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-04-13 (水) 16:47:15