ホームページ >ウェブフロントエンド >htmlチュートリアル >_html/css_WEB-ITnose に関する初心者の質問
1. メモ帳では [UTF16 ヘッダー] 形式の HTML が記述されていますが、HTML ファイルでは UTF8 が指定されています。ブラウザはデコードに UTF8 モードを使用することをどのように認識するのでしょうか?ブラウザがそれを理解するには、それをデコードする必要がありますが、このデコード方法はファイルに記述されており、ブラウザはどのようにして正しい方法を選択するのでしょうか。
2. 論理的に言えば、e8e496c15ba93d81f6ea4fe5f55a2244 がドキュメントの先頭ではなくヘッドに配置されるのはなぜですか? ご指導お待ちしております〜
ディスカッション(解決策)への返信
サーバーがUTF16ヘッダーを読み取れないと、めちゃくちゃになります。
サーバーが UTF16 ヘッダーを読み取れない場合、混乱が生じます。
サーバーが UTF16 ヘッダーを理解できる場合は、次のステップがあります:
つまり、ユーザーがリクエストすると、UTF8エンコードで送信されるということでしょうか?
それは間違いです。次の記述は正しいはずです:
なぜなら、あなたのこれらのものは最終的にサーバーに配置されるからです。
サーバー送信: 何を送信するかは重要ではありません。重要なのは、ブラウザーがそれを読み取ることができることです。
ブラウザは HTML 構文パーサーです。 HTML 構文の構文に従います。 (XML 構文)
この
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head>
ユーザーは、送信したデータがこの形式であるとしか言えません。サーバーにどのような形式であるかを尋ねることはできません。戻ります。
何を送信するか? サーバーにはデフォルト値がありませんか?
php
header(content-type:xx) で次のように変更できます
ユーザーは、送信したデータがこの形式であるとしか言えません。サーバーにどのような形式であるかを尋ねることはできません。戻ります。
おそらく理解していると思いますが、サーバーに保存されるときにどのような形式で保存されるかは関係ありません。ただし、ユーザーが Web ページをリクエストすると、ブラウザーはサーバーにどのような形式で送信するかを要求することはできません。 UTF8 がユーザーに送信され、クライアントはそれを UTF8 に従ってデコードするなど、ドキュメント 形式に明示的に準拠します。
いいえ、e8e496c15ba93d81f6ea4fe5f55a2244 はブラウザの HTML 構文パーサーによって使用されます。 dom オブジェクトに解析されます。つまり、サーバーが送信するエンコーディングをサーバー設定で設定する必要があります。または、動的言語設定 (php .net .java) を使用します
いいえ、e8e496c15ba93d81f6ea4fe5f55a2244 はブラウザの HTML 構文パーサーによって使用されます。 dom オブジェクトに解析されます。つまり、サーバーが送信するエンコーディングをサーバー設定で設定する必要があります。または、動的言語設定 (php .net .java) を使用してください
長々とご迷惑をおかけして申し訳ありませんでした。
ただし、理解できないことが 1 つあります。
前提:
HTML を [UTF16 ヘッダー] 形式で保存し、送信形式を UTF8 に設定し、e8e496c15ba93d81f6ea4fe5f55a2244 も UTF8 にします。 サーバー:
あなたの言ったことによると、サーバーはこのHTMLを理解でき、このHTMLの送信形式を自分で設定できます。UTF8です。 #我質問はこちら#
クライアントブラウザ:
仮定 1: クライアントブラウザは HTML を閲覧する前に Web ページのエンコード方法を知りません。そのため、HTML のコンテンツを読み取ることは間違いなくできません。 e8e496c15ba93d81f6ea4fe5f55a2244 に何が含まれているかがわからないため、文字化けします。 仮説 2: クライアントのブラウザは HTML ドキュメントの最初の 2 バイトを解析し、それが EFBB (UTF8 形式) であることを検出します。したがって、HTML ファイルを解析して読み込むことができ、e8e496c15ba93d81f6ea4fe5f55a2244 のコンテンツを取得できますが、e8e496c15ba93d81f6ea4fe5f55a2244 の文字セットがブラウザに UTF8 であることを伝える前に、ブラウザはすでにエンコード形式を認識しているため、この文字セット情報は冗長です
どちらにしても意味がありませんか?
ブラウザは HTML エンコード方式を知らない場合、ドキュメントのコンテンツを知らない場合、メタに何が書かれているかも知りません。メタに何が書かれているかは、デコードにどのような形式を使用すればよいかわかりません。
ブラウザが HTML のエンコード方式を知りたい場合は、ファイルを直接解析し、ファイルの最初の 2 バイトから EFBB を読み取り、それが UTF8 エンコードであることを確認するか、サーバーがクライアント ブラウザに通知する必要があります。 UTF8 エンコード方式の場合、なぜ e8e496c15ba93d81f6ea4fe5f55a2244 に文字セットが必要なのでしょうか?
私は数日間 HTML に触れたばかりなので、質問が低レベルすぎる場合はご容赦ください。
まずバイナリ テキスト エディタを検索する必要があります
利用可能なはずの http://www.editpadpro.com/hexadecimal.html を見つけました。
テキストとバイナリに注意してください。
-》HTML はサーバー上に配置されており、最初にサーバーによって読み取られる必要があります。
HTML では、メモ帳がサーバーで読み取ることができます。 読み取られるのはバイナリ文字列です。彼はこのヘッダーを読み取ることができたので、設定した変換プログラムに従って変換を開始し、私たちが理解できるテキストに変換しました
-》Web サーバーはヘッダーも最初に送信しました。 Web デバッグ ツールを通じて表示されます。
ブラウザは送信されたヘッダーを分析し、それに続く内容が HTML の一部であることを検出します。これを処理するには、必ず HTML 構文アナライザーを使用してください。
-》HTML 構文パーサー、独自の固定構文もあります。
まずバイナリ テキスト エディタを検索する必要があります
私は http://www.editpadpro.com/hexadecimal.html を見つけました。これは利用できるはずです。
テキストとバイナリに注意してください。
-》HTML はサーバー上に配置されており、最初にサーバーによって読み取られる必要があります。
HTML では、メモ帳がサーバーで読み取ることができます。 読み取られるのはバイナリ文字列です。彼はこのヘッダーを読み取ることができたので、設定した変換プログラムに従って変換を開始し、私たちが理解できるテキストに変換しました
-》Web サーバーはヘッダーも最初に送信しました。 Web デバッグ ツールを通じて表示されます。
ブラウザは送信されたヘッダーを分析し、それに続く内容が HTML の一部であることを検出します。これを処理するには、必ず HTML 構文アナライザーを使用してください。
-》HTML 構文パーサー、独自の固定構文もあります。
辛抱強いご返信ありがとうございます:)