検索
ホームページウェブフロントエンドhtmlチュートリアルGET POST_HTML/Xhtml_Webページ制作の違いを詳しく解説

1. Get はサーバーからデータを取得するために使用され、Post はサーバーにデータを転送するために使用されます。
2. Get は、アクションが指す URL にフォーム内のデータを変数=値の形式で追加し、その 2 つを「?」で接続し、各変数を「&」で接続します。 to フォーム内のデータはフォームのデータ本体に配置され、対応する変数と値に従ってアクションが指す URL に渡されます。
3. 送信プロセス中にデータがリクエストされた URL に配置され、多くの既存のサーバー、プロキシ サーバー、またはユーザー エージェントがリクエストされた URL をログ ファイルに記録し、どこかに保存されるため、Get は安全ではありません。第三者に見られる個人情報。さらに、ユーザーは送信されたデータをブラウザ上で直接確認することもでき、一部の内部システム メッセージがユーザーの目の前に表示されます。すべての Post 操作はユーザーには表示されません。
4. Get で転送されるデータの量は主に URL の長さによって制限されるためです。一方、Post は大量のデータを転送できるため、ファイルをアップロードする場合にのみ Post を使用できます (もちろん、別のものがあります)。理由は後述します))。
5. Get はフォーム フォーム内のデータ セットの値を ASCII 文字に制限しますが、Post は ISO10646 文字セット全体をサポートします。デフォルトでは ISO-8859-1 エンコード
を使用します。6. Get は Form のデフォルトのメソッドです。
次の比較は非常に役立ちます:
私はしばらく Java Web 開発を行ってきましたが、いつも悩まされる問題があります。それは文字化けです。基本的に、私はオンラインで解決策を探していました (オンラインには本当にたくさんの情報があります)。この種の文字化けしたコードの問題を解決する方法については多くの紹介がありましたが、その詳細を説明しているものはほとんどありませんでした。いくつかの記事を読んだ後は、理解できたと思ったこともありますが、開発中は文字化けしたコードの問題が幽霊のように現れ、人々を怖がらせます。この記事は、私が長年文字化けと格闘してきたことを少しだけまとめたものであり、より多くの友人がアドバイスや補足をしてくれることを願っています。
フォームには、サーバーにデータを送信するための 2 つのメソッド (get と post) があります。それぞれについて説明します。
(1) 送信の取得
1. まず、クライアント (ブラウザ) フォームが get メソッドを使用してデータをエンコードし、サーバーに送信する方法について説明します。

get メソッドの場合、データはリクエストされた URL の後ろに次のようにパラメータとして連結されます。 http://localhost:8080/servlet?msg=abc
(非常によくある文字化けの問題です) http://localhost:8080 /servlet?msg=Hangzhou などの URL に中国語またはその他の特殊文字が含まれる場合、URL スプライシングが完了すると、サーバー側で文字化けが発生しやすくなります。ブラウザは URL をエンコードしてからサーバーに送信します。URL エンコードのプロセスでは、URL の一部を文字として使用し、特定のエンコード方式 (utf-8 など) に従ってバイナリ バイトコードにエンコードします。 gbk など)、3 文字の文字列 "%xy" で表されるを使用します。ここで、xy はバイトの 2 桁の 16 進表現です。ここで私が話していることは明確ではないかもしれません。詳細については、ここで java.net.URLEncoder クラスの概要を参照してください。 URL エンコードのプロセスを理解すると、2 つの非常に重要な問題がわかります。まず、URL エンコードが必要な文字は (一般的に) 非 ASCII 文字であり、より一般的に言えば、英語の文字以外のテキストです ( : 中国語、日本語など) は URL エンコードする必要があるため、英語の文字を含む URL では、URL 内の中国語または特殊文字が原因で文字化けが発生することはありません。 URL エンコードは文字をエンコードするために使用するエンコード方式ですか?これはブラウザーの問題であり、ブラウザーごとにアプローチが異なります。通常、中国語版のブラウザーでは、ブラウザーの設定によって UTF-8 を使用することもできます。多くの Web サイトでは、JavaScript を使用して URL 内の中国語または特殊文字を URL エンコードし、次に URL を結合してデータを送信します。つまり、Web サイトの URL エンコードがブラウザに対して行われるという利点があります。 getメソッドで送信されるデータのエンコード方式を統一できます。 URL エンコードが完了すると、URL は ASCII 範囲の文字になり、iso-8859-1 エンコードを使用してバイナリに変換され、リクエスト ヘッダーとともに送信されます。ここでもう少し言いたいのは、get メソッドにはリクエスト エンティティが存在せず、データを含む URL がリクエスト ヘッダーにあるということです。URL エンコードが使用される理由は 私が個人的に考えている理由です。リクエストヘッダー用 中国語やその他の文字を含む特殊文字が iso で直接エンコードされた場合、最終的に 101010... の純粋なデータは iso-8859-1 エンコード方式を使用してバイナリにエンコードされ、インターネット経由で送信されます。 -8859-1 では情報が失われるため、最初に URL エンコードを行う必要があります。 2.サーバー側 (tomcat) はどのようにしてデータを取得し、デコードするのでしょうか。
最初のステップは、get メソッドの場合、リクエストの URL にパラメータ データが含まれている場合は、特殊なリクエスト ヘッダー文字を使用してデータを取得します。 URL エンコード後も %XY 状態のままです。まず、開発者が一般的にデータを取得するプロセスについて説明します。通常、リクエスト オブジェクトで取得するデータは request.getParameter("name") を使用して取得されますが、デコード処理中にプログラムで指定することはできません。初心者は、request.setCharacterEncoding("Character Set") を使用してデコード メソッドを指定できますが、実際には不可能です。このメソッドの説明については、サーブレットの公式 API の説明を参照してください。このリクエストの本文で使用される文字エンコーディングの名前。このメソッドは、getReader() を使用してリクエスト パラメータを読み取る前、または入力を読み取る前に呼び出す必要があります。では、データのデコードにはどのようなエンコード方式が使用されるのでしょうか? これは Tomcat の問題であり、中国語のパラメータを含む get リクエストがサーバー側で文字化けする理由を知ることができます。通常、データ URL のエンコードには UTF-8 または GBK が使用されますが、ここで iso-8859-1 URL デコーダーを使用することは明らかに不可能です。Java コード
1。 String( request.getParameter("name").getBytes("iso-8859-1"),"クライアントが指定した URL エンコード エンコード方法")
バイトコードに戻し、データを正しい方法でデコードします、オンライン この記事は通常、Tomcat
Xml コード
1 で構成されます。
これにより、Tomcat はデータを取得した後に指定された URL デコーダーを使用できるようになります。 URL デコーダーの紹介はこちらです
(1) 送信後の手順
1. クライアント (ブラウザー) の方法フォームは post メソッドを使用してデータをエンコードし、サーバーに送信します。
postメソッドで送信するデータもURLエンコードが必要ですが、どのようなエンコード方式を採用しているのでしょうか?
HTML ファイル内にフォームが配置されているセグメントがある場合、
一般に、このコードは Web ページを解釈するためにどの文字セットを使用するかをブラウザーに知らせるものであると考えられているため、Web サイトは文字化けを避けるためにこのコードを HTML コードのフロントエンドに配置します。また、別の機能もあります: フォーム の post メソッドによって送信されたデータの URL エンコード エンコード方法を指定します。ここから、getメソッドについてはブラウザによるデータのURLエンコードのエンコード方法がブラウザの設定で決まり(jsで一律に指定できる)、postメソッドについては開発者が指定できることがわかります。それを指定してください。 2.サーバー側 (tomcat) はどのようにしてデータを取得し、デコードするのでしょうか。
Tomcat のデフォルト設定を使用し、フィルターなどのエンコード設定を行わない場合も、iso-8859-1 を使用してデコードされますが、request.setCharacterEncoding("Character Set") が便利です。


上記の Tomcat の前提は、リクエストヘッダーにエンコード方式が指定されていないことであることがわかりました。このようなコーディングになります。 推奨記事が 2 つあります。アドレスは次のとおりです。
URL エンコードを簡単に説明します:
http://www.cnblogs.com/ yencain/articles/1321386.html; フォームが post メソッドを使用してデータを送信すると文字化けが発生する問題:
http://wanghuan8086.javaeye。 com/blog/173869
HTML ファイル内にフォームが配置されているセクションがある場合は、post を使用することが非常に重要です。

送信後を使用することを強くお勧めします。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
HTMLタグとHTML属性の違いは何ですか?HTMLタグとHTML属性の違いは何ですか?May 14, 2025 am 12:01 AM

htmltagsdeTheStructureOfawebpage、whiLeattributesdddddddddtetails.1)tagslike、andoutlineThecontentのsplacement.2)属性、クラス、およびスチリーンハンシテアグビーズイメージソース、スタイリング、および改善、および改善の想像力。

HTMLの未来:進化とトレンドHTMLの未来:進化とトレンドMay 13, 2025 am 12:01 AM

HTMLの未来は、よりセマンティック、機能的、モジュール式方向に発展します。 1)セマンティック化により、タグがコンテンツをより明確に説明し、SEOとバリアのないアクセスを改善します。 2)機能化は、ユーザーのニーズを満たすために新しい要素と属性を導入します。 3)モジュール性は、コンポーネントの開発をサポートし、コードの再利用性を改善します。

Web開発にとってHTML属性が重要なのはなぜですか?Web開発にとってHTML属性が重要なのはなぜですか?May 12, 2025 am 12:01 AM

htmlattributesarecrucialinwebdevevermentmentmentmentmentmentmentmention behavior、like、andfunctionality.theyenhance -interactivity、accessibility、andseo.forexample、thesrcattribute intagsimpactsseo

Alt属性の目的は何ですか?なぜそれが重要なのですか?Alt属性の目的は何ですか?なぜそれが重要なのですか?May 11, 2025 am 12:01 AM

ALT属性は、HTMLのタグの重要な部分であり、画像の代替テキストを提供するために使用されます。 1.画像をロードできない場合、ALT属性のテキストが表示され、ユーザーエクスペリエンスが向上します。 2。スクリーンリーダーは、ALT属性を使用して、視覚障害のあるユーザーが写真の内容を理解するのに役立ちます。 3. ALT属性のEnginesインデックステキストを検索して、WebページのSEOランキングを改善します。

HTML、CSS、およびJavaScript:例と実用的なアプリケーションHTML、CSS、およびJavaScript:例と実用的なアプリケーションMay 09, 2025 am 12:01 AM

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。1。HTMLは、Webページ構造の構築に使用されます。 2。CSSは、Webページの外観を美化するために使用されます。 3. JavaScriptは、動的な相互作用を実現するために使用されます。タグ、スタイル、スクリプトを通じて、これら3つは最新のWebページのコア関数を構築します。

Lang属性をタグにどのように設定しますか?なぜこれが重要なのですか?Lang属性をタグにどのように設定しますか?なぜこれが重要なのですか?May 08, 2025 am 12:03 AM

タグのLang属性を設定することは、WebアクセシビリティとSEOを最適化する重要なステップです。 1)ラング属性をタグに設定します。 2)多言語コンテンツでは、ようなさまざまな言語パーツのLang属性を設定します。 3)「EN」、「FR」、「ZH」などのISO639-1標準に準拠する言語コードを使用します。Lang属性を正しく設定すると、Webページと検索エンジンランキングのアクセシビリティが向上します。

HTML属性の目的は何ですか?HTML属性の目的は何ですか?May 07, 2025 am 12:01 AM

htmlattributeSareSientionalentionalentionalentionalentiallyance'functionalityandappearance.theyaddinformationtodefinebehavior、light、and interaction、makewebsitesteractive、responsive、andviseallyappaleal.attributeslikesrc、href、class、型、およびdoadabledransform

HTMLでリストを作成するにはどうすればよいですか?HTMLでリストを作成するにはどうすればよいですか?May 06, 2025 am 12:01 AM

toreatealistinhtml、useforunorderedlistsandfororderedlists:1)forunorderedlists、wrapitemsinanduseforeachitem、renderingasabulletedlist.2)

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール