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

GET POST_HTML/Xhtml_Webページ制作の違いを詳しく解説

May 16, 2016 pm 04:43 PM
get post

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 までご連絡ください。

ホット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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PowerShell を使用してタスクを自動化する方法 PowerShell を使用してタスクを自動化する方法 Feb 20, 2024 pm 01:51 PM

IT 管理者またはテクノロジーの専門家であれば、自動化の重要性を認識している必要があります。特に Windows ユーザーにとって、Microsoft PowerShell は最高の自動化ツールの 1 つです。 Microsoft は、サードパーティのアプリケーションをインストールする必要なく、自動化のニーズに対応するさまざまなツールを提供しています。このガイドでは、PowerShell を活用してタスクを自動化する方法について詳しく説明します。 PowerShell スクリプトとは何ですか? PowerShell の使用経験がある場合は、コマンドを使用してオペレーティング システムを構成したことがあるかもしれません。スクリプトは、.ps1 ファイル内のこれらのコマンドの集合です。 .ps1 ファイルには、基本的な Get-Help など、PowerShell によって実行されるスクリプトが含まれています。

ページにジャンプするパラメータを含む PHP の POST メソッドの簡単な分析 ページにジャンプするパラメータを含む PHP の POST メソッドの簡単な分析 Mar 23, 2023 am 09:15 AM

PHP 開発者にとって、POST を使用してパラメータのあるページにジャンプすることは基本的なスキルです。 POST は HTTP でデータを送信する方法で、HTTP リクエストを通じてサーバーにデータを送信できます。ジャンプ ページはサーバー側でページを処理してジャンプします。実際の開発では、特定の機能上の目的を達成するために、パラメーターを指定して POST を使用してページにジャンプする必要があることがよくあります。

投稿が PHP で送信されたかどうかを確認する方法 投稿が PHP で送信されたかどうかを確認する方法 Mar 21, 2023 pm 07:12 PM

PHP は、インタラクティブで動的な Web アプリケーションの作成に使用できる、広く使用されているサーバー側スクリプト言語です。 PHP アプリケーションを開発する場合、通常、フォームを介して処理するためにユーザー入力データをサーバーに送信する必要があります。ただし、フォームデータがPHPで送信されたものであるかどうかを判断する必要がある場合があるので、この記事ではその判断方法を紹介します。

Pythonリクエストポストの使い方 Pythonリクエストポストの使い方 Apr 29, 2023 pm 04:52 PM

Python はブラウザーによるポスト リクエストの送信をシミュレートします importrequests 形式 request.postrequest.post(url,data,json,kwargs)#ポスト リクエストの形式 request.get(url,params,kwargs)#get リクエストと比較して、ポスト リクエストの送信パラメータは次のように分割されますForms ( x-www-form-urlencoded) json (application/json) データ パラメーターは、辞書形式と文字列形式をサポートしています。辞書形式は、 json.dumps() メソッドを使用して、データを有効な JSON 形式の文字列に変換します。このメソッドには、次のものが必要です

Java はどのようにして http リクエストを開始し、ポストを呼び出してインターフェースを取得するのでしょうか? Java はどのようにして http リクエストを開始し、ポストを呼び出してインターフェースを取得するのでしょうか? May 16, 2023 pm 07:53 PM

1. Java は post インターフェイスを呼び出します 1. Java に付属の URLConnection または HttpURLConnection を使用します 他の jar パッケージをダウンロードする必要はありません URLConnection を呼び出します インターフェイスの応答コードがサーバーによって変更されている場合、応答メッセージは受信できません。応答コードが正しい場合にのみ受信されます。 publicstaticStringsendPost(Stringurl,Stringparam){OutputStreamWriterout=null;BufferedReaderin=null;StringBuilderresult=newSt を返します。

NGINXリバースプロキシがHTMLページのPOSTリクエストに対して405を返す問題の解決方法 NGINXリバースプロキシがHTMLページのPOSTリクエストに対して405を返す問題の解決方法 May 22, 2023 pm 07:49 PM

以下:server{listen80;listen443ssl;server_namenirvana.test-a.gogen;ssl_certificate/etc/nginx/ssl/nirvana.test-a.gogen.crt;ssl_certificate_key/etc/nginx/ssl/nirvana.test-a.gogen .key;proxy_connect_timeout600;proxy_read_timeout600;proxy_send_timeout600;c

PHP コード例: POST を使用してパラメーターを渡し、ページ ジャンプを実装する方法 PHP コード例: POST を使用してパラメーターを渡し、ページ ジャンプを実装する方法 Mar 07, 2024 pm 01:45 PM

タイトル: PHP コード例: POST を使用してパラメーターを渡し、ページ ジャンプを実装する方法 Web 開発では、多くの場合、パラメーターを POST 経由で渡し、サーバー側で処理してページ ジャンプを実装する必要があります。 PHP は、一般的なサーバーサイド スクリプト言語として、この目的を達成するための豊富な関数と構文を提供します。以下では、この機能を PHP を使用して実装する方法を、具体的な例を用いて紹介します。まず、2 つのページを準備する必要があります。1 つは POST リクエストを受信し、パラメーターを処理するためのものです。

ページにジャンプしてPOSTデータを運ぶPHPを実装する方法 ページにジャンプしてPOSTデータを運ぶPHPを実装する方法 Mar 22, 2024 am 10:42 AM

PHP は Web サイト開発で広く使用されているプログラミング言語であり、ページ ジャンプと POST データの送信は Web サイト開発における一般的な要件です。この記事では、PHP のページジャンプを実装して POST データを運ぶ方法を、具体的なコード例を含めて紹介します。 PHP では、ページ ジャンプは通常、ヘッダー関数を通じて実装されます。ジャンプ プロセス中に POST データを送信する必要がある場合は、次の手順で実行できます。 まず、ユーザーが情報を入力して送信ボタンをクリックするフォームを含むページを作成します。フォーム内のアクティ

See all articles