cgiへjavascritから文字列を渡す際に、
「エンコードはどんな時に、何故必要なのですか?」という質問があり、
https://teratail.com/questions/27397
「URLには『予約文字』があって使えない文字を使えるようにするため」
「日本語の含まれたURLを使えるようにするため」
はわかりましたが、
そもそも、なぜ『予約文字』があるのでしょうか。
例えばスラッシュは、Webサーバが受け取ったときは、
「ディレクトリを表すから予約語」ということはわかりますが、
わからないのはcgiに文字列を渡す時にエンコードが必要
ということです。
wikiによればcgiは
「ウェブサーバ上でユーザプログラムを動作させるための仕組み」
でURLと直接関係が無いように書かれていました。
実際に 「1+2=3」とcgiに渡すことができず、エンコードを
encodeURIComponent関数を用いて行えば、渡すことが
できました。
そのまま渡してくれても困らないのですが、なぜ『予約文字』
があるのでしょうか。
cgiに文字列を渡す際に、エンコードが必要な理由が説明されている
サイト等教えていただけないでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。