完全なエンコーディングガイド
異なるエンコーディング方法とプロジェクトでいつ適用するかを理解します。
エンコーディングは、データを正しく送信または保存できるように、ある形式から別の形式に変換するプロセスです。Base64は、バイナリデータをASCIIテキストとして表すエンコーディングスキームであり、電子メール、JSON、またはXMLなどテキストのみをサポートするメディアを介して画像、ファイル、またはバイナリデータを送信できます。HTML/CSSでデータURIを使用して画像をコードに直接埋め込み、APIでファイル添付ファイルを送信するために一般的に使用されます。URLエンコーディング(パーセントエンコーディングとも呼ばれます)は、特殊文字をその%XX表現に変換して、URLで安全にします。スペース、アクセント、または?、&、=などの予約文字を含むパラメータを送信する場合に不可欠です。HTTP Basic AuthはBase64を使用してusername:password資格情報をエンコードしますが、HTTPSなしでは安全ではありません。主な違いは、Base64がバイナリデータをテキストにエンコードするのに対し、URLエンコーディングはURLで特殊文字を安全にすることです。REST APIはクエリ文字列パラメータがURLエンコードされていることを必要としますが、JSONペイロードはBase64でエンコードされたバイナリデータを含めることができます。
実際の使用例
- •特殊文字が安全になるようにURLパラメータをエンコードする
- •JSONのみを受け入れるAPIを介して画像やファイルなどのバイナリデータを送信する
- •データURIを使用してHTML/CSSに画像を直接埋め込み、HTTPリクエストを削減する
- •シンプルなAPIにHTTP Basic認証を実装する(常にHTTPSを使用)
- •基本認証を必要とするレガシーシステムの資格情報をエンコードする