一般的なWebプログラミング/デザインの質問:?
-
23-09-2019 - |
質問
私は2年間Webプログラミングを行ってきました(自己教え - 職業別の生物学研究者)。必要な機能と科学的なRTEを備えた小さなウィキを設計しました。 MootoolsフレームワークとAjaxを広範囲に使用しました。
URLからクエリ文字列が渡されたのを見たとき、私はいつも興味がありました。長い暗号化されたクエリ文字列は、サーバーに直接渡されます。特にGoogleのデザインはそのようなものです。これがクライアントにWebサービスを提供する開始だと思います - 私は推測します。
さて、私の質問は次のとおりです。これは、URLを介してクエリを通信するための特別で、非常にプロフェッショナルで、効率的 /高度なWebデザイン手法ですか?
私は常に、直接的なURLベースの通信がより速くなると感じていました。少し試してみて、URLを介して直接クエリを送信できました。これがリンクです: http://sgwiki.sdsc.edu/getsgmpage.php?8これにより、クライアントは検索や自動化の代わりに、目的のページに直接リンクできます。多くの可能性があります。
次のリクエスト:このようなWebプログラミングのテクニックを指摘できますか?おっと:申し訳ありませんが、リクエストをはっきりと伝えることができなかったら。
プラサド。
解決
これがクライアントにWebサービスを提供する開始だと思います - 私は推測します。
そうではありませんが、そうではありません。アプリケーション全体への中心的なエントリポイントがありました。それは一般的な慣行であり、あらゆる種類の利点がありますが、明らかに必須ではありません。多くの場合、これらの日は、通常のURLでさえ、実際にアプリケーションの物理ページではない場合があります。パスの各部分は、サーバー側の書き換えとルーティングを通じて変数にマッピングされる可能性があります。たとえば、この質問のURL:
http://stackoverflow.com/questions/2557535/general-web-programming-designing-question
のようなものにマッピングするかもしれません
http://stackoverflow.com/index.php?module=questions&action=view&question=2557535&title=general-web-programming-designing-question
これは、URLを介してクエリを通信するための特別な、非常にプロフェッショナルで、効率的 /高度なWebデザイン手法ですか?
アプリケーション内のすべての機能にアクセスされる集中ページを持つことは、フロントコントローラーパターンの一部です。これは、一般的なモデル、ビュー、コントローラー(MVC)パターンの一部として一般的に使用されるアプリケーションの共通パターンです。 MVCでは、アプリケーションの懸念は、ビジネスロジックを保持するモデルに分けられます。これらのモデルは、コントローラーによって使用され、出力を生成できる一連のタスクを実行します。この出力は、ビューレイヤーを介してクライアント(ブラウザ、ウィンドウマネージャーなど)にレンダリングされます。
他のヒント
本質的にあなたが尋ねているのはクエリ文字列だと思います。ページの後のURLには、疑問符があるかもしれませんが、URLパラメーター(一般にGet Request Parametersと呼ばれる)がある可能性があります。
http://www.google.com/search?q=URL+parameter
通常、これを処理すると、サーバー側で行われます。たとえば、PHPでは、以下を使用できます。
$_GET['q']
前述のコードは変数の値です。または、このクライアント側を行うには、アンカーを使用できます。疑問符をハッシュサイン#に置き換えます
これはアンカーに使用されるため、URLが変更されてアンカータグが付いているため、ページは更新されません。これにより、完全にAJAX駆動型のページがリフレッシュせずにURLを操作できます。この方法は、Ajaxページのバックボタンサポートを有効にするためにもよく使用されます。
JavaScriptでは、ページのURLを読み取り、URLのハッシュ部分を取得する機会として、オンロードハンドラーを使用できます。その後、ページはサーバーにリクエストを作成して、ネクサリーデータを読み取ることができます。
これは、フロントコントローラーアーキテクチャを使用した結果です。これは、同じコードが複数の異なるWikiページをレンダリングするために使用されるWikiのアイデアにきちんと適合します。コンテンツはデータによって定義されます。
ページの選択基準にURLのクエリ部分を使用することだけがソリューションではありません。たとえば、Apacheを使用している場合、実装できます。
http://sgwiki.sdsc.edu/getSGMPage.php?8
なので
http://sgwiki.sdsc.edu/getSGMPage.php/8
(価値を発表するには、独自の解析を追加する必要があります。
または、mod_rewriteを使用して、パスからクエリに戻るコンポーネントをマッピングできます。
これらの戦略を採用する特定の機能/パフォーマンスの理由はありません。 URLがiDempotentである場合、各ページはGET操作を介してアドレス指定できることが推奨されますが(SEOにも役立ちます)。
C.