ホームページ >バックエンド開発 >PHPチュートリアル >PHP での正確かつ高速な UA 識別
PHP での正確かつ高速な UA 識別
UA: ユーザーエージェント これは、PHP が提供するサーバー変数から取得できます。ユーザーエージェント識別の目的は何ですか?
1. ブラウザは何ですか?これはもう必要ありません。 CSS HACK は、ブラウザで正しくレンダリングするのに役立ちます。
2. ブラウザの種類: これは間違いなく必要です。最も必要なのは、異なるページを選択できるように、PC 上か携帯電話上かを知ることです。
3. ユーザーエージェント: 表面的にはブラウザタイプと同じ概念ですが、実際には異なります。ユーザーエージェントの範囲はブラウザタイプよりも広いです。なぜなら、訪問者にはブラウザだけでなく、情報を取得しに来るアプリケーション、検索ロボット、スパム Web サイトも含まれるからです。もちろん、多くのスパム Web サイトは、情報を偽装して取得しに来ますが、それらに対処するために、情報は UA 識別ではなく、IP ルーティングで処理されます。
MVC モードでの UA ルーティングで最も重要なことは、クライアント要求を作成し、最終的に対応する正しいページを表示することです。
しかし、PHP や拡張可能で保守可能なサードパーティのオープン ソースには、UA の識別を迅速に実行できる優れた機能はありません。
get_browser 関数は C 言語レベルですが、関連する INI ファイルをリアルタイムでダウンロードする必要があり、数百 K の大きな INI ファイルから正しい UA が検索され、さまざまな UA に基づいてアルゴリズムが計算されます。対応する結果は、もちろん良いのですが、ダウンロード速度が悪かったり、プロセスが多すぎると、マシンのメモリが不足し、速度が急激に低下します。これは悲劇と言わざるを得ません。
?
最善の方法は、現在のすべての UA 文字列を完全に分離することです。一部の文字列は ROBOT 専用であり、一部の文字列は MOBILE 専用である必要があることがわかります。このことから、CSVを作成すると現在のデータは2フィールド1,000レコード未満のファイルのみとなります。したがって、ファイル サイズは 20KB 未満にまで減少しただけです。処理するデータ量は約25分の1に削減されます。速度は、元の最速速度の 20 倍、元の最低速度の 200 倍以上になります。
?
なぜですか? 1,000 件のレコードについて考えて、その半分を検索するのに何回かかりますか?さらに、20 KB のテキスト内の 1,000 行のレコードを検索する方が、400 KB を超えるファイルでは見つからない 20,000 行を超える構成レコードを検索するよりもはるかに高速です。
?
?
?
?