Skip to main content

メタキャラセットタグ - HTML5で文字エンコーディングを設定する

Anonim

HTML5が導入される前に、以下のようなやや冗長な行を書くために必要な要素を持つ文書の文字エンコーディングを設定してください。 WebページでHTML4を使用していた場合、これはMeta Charset要素です:

このコードで注目すべき重要な点は、 コンテンツ 属性: コンテンツ= ' text / html; charset = iso-8859-1 ' 。すべてのHTML属性と同様に、これらの引用符は属性の値を定義し、文字列全体 text / html; charset = iso-8959-1 それは コンテンツ これは適切なHTMLであり、この文字列がどのように記述されるのかです。それはまた、長いと醜い扱いにくいです!頭の上から覚えている可能性もあります。ほとんどの場合、Web開発者は、このコードを1つのサイトから新しいサイトにコピーして貼り付けなければなりません。

HTML5は余分な「もの」を削減

HTML5は言語に新しい要素を追加しただけでなく、Meta Charset要素を含むHTMLの構文の多くを大幅に単純化しました.HTML5では、文字エンコーディングを、META 次のような要素があります。

この簡単な構文と、HTML4で使用されていた古い構文をこの記事の冒頭に書いたものと比較すると、HTML5のバージョンが本当にどれくらい簡単に書いて覚えているかがわかります。既存のサイトからこれをコピーして新しいWebサイトに貼り付ける必要はなく、フロントエンドのWeb開発者が覚えていることは絶対にあります。このように時間を節約すれば、HTML5の簡略化された他の構文領域を考慮すると、節約につながります。

エンコードする文字を常に含める

特別な文字を使用するつもりがない場合でも、Webページの文字エンコーディングは常に含める必要があります。文字エンコーディングを含まないと、サイトはUTF-7を使用したクロスサイトスクリプティング攻撃に対して脆弱になります。

このシナリオでは、あなたのサイトには文字エンコーディングが定義されていないと見なされるため、ブラウザは実際にページの文字エンコーディングがUTF-7であると思うようになります。次に、攻撃者はUTF-7でエンコードされたスクリプトをWebページに挿入し、サイトがハッキングされます。これは明らかに、あなたの会社から訪問者まで関与するすべての人にとって問題です。良いニュースは、避けるのは簡単な問題だということです。すべてのウェブページに文字エンコーディングを必ず追加してください。

文字エンコーディングを追加する場所

ウェブページの文字エンコードは、HTMLの最初の行にする必要があります doctypeを決定し、それがHTMLページであることを特定する以外に、ページ上で他のことをする前にブラウザが文字エンコーディングを知っていることを確認します。あなたのHTMLは読むべきです:

余分なセキュリティのためのHTTPヘッダーの使用

HTTPヘッダーで文字エンコードを指定することもできます。これはHTMLページに追加するよりも安全ですが、サーバー設定や.htaccessファイルにアクセスする必要があります。つまり、ウェブサイトのホスティングプロバイダと協力してこのようなアクセス権を得るか、あなたのための変更。アクセスは本当に挑戦です。変更自体は簡単なので、どのホスティングプロバイダでも比較的簡単にこの変更を行うことができます。

あなたがApacheを使用している場合は、以下を追加してサイト全体のデフォルト文字セットを設定できます。 AddDefaultCharset UTF-8 あなたのルートに .htaccess ファイル。 Apacheのデフォルトの文字セットは ISO-8859-1.