問題タブ [web-optimization]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
web-optimization - Web ページでセキュアなコンテンツと非セキュアなコンテンツを混在させる - 良い考えですか?
安全な Web サイトを高速化する方法を考え出そうとしています。ロードする必要がある CSS 画像が多数あるため、安全なリソースがブラウザーによってディスクにキャッシュされず、必要以上に頻繁に取得する必要があるため、サイトの速度が低下する可能性があります。
私が考えていたことの 1 つは、おそらくスタイルベースの画像と JavaScript ライブラリを安全でないサブドメインに移動して、ブラウザがセキュリティ リスクをもたらさないこれらのリソースをキャッシュできるようにすることです (グラデーションは厳密には機密性の高い素材ではありません)。
他の人がこのようなことをすることについてどう思うか見たかった. これは実行可能なアイデアですか、それとも CSS スプライト マップなどを使用してリクエストと帯域幅を削減するなど、他の方法でサイトを最適化する必要がありますか?
javascript - JavaScript は Firefox 3 で非同期にロードされます (Firebug によると)?
ページ上の JavaScript ファイルの読み込みによって速度が低下していると確信している Web サイトのパフォーマンスをプロファイリングしようとしています。
同じ JavaScript ファイルがページに複数含まれており、タグが下部に含まれて<script />
いるのではなく、ページ全体に散らばっています。
私が思ったように、FireBug の [Net] タブを見ると、ほとんどの場合 (すべてではありません)、JavaScript がロードされているときは、他のファイルは要求されません。ブラウザーは、JavaScript の読み込みが完了するまで待機します。
ただし、いくつかの例外があります。JavaScript が読み込まれる場合がいくつかありますが、同時に、他の JavaScript ファイルや画像など、他のリソースが読み込まれるように見えます。
私はいつも、JavaScript がページ上の他のリソースの読み込みをブロックしていると考えていました。この考えは間違っていますか、それともこの動作はブラウザまたはブラウザのバージョンによって異なりますか?
更新:
スクリプトの読み込みが他のリソースの読み込みをブロックする方法を説明した人には、私はすでにこれを認識しています。私の質問は、スクリプトが他のリソースの読み込みをブロックしない理由です。Firebug は、一部の JavaScript ファイルが他のリソースの読み込みをブロックしないことを示しています。なぜこれが起こるのか知りたいです。
performance - IIS7 を実行している Windows Server 2008 ボックスを最適化して、静的ファイルのみを提供する最善の方法は何ですか?
Windows Server 2008 と IIS7 を実行している静的ファイル サーバーから Web アプリケーションで静的コンテンツ (css、js、画像) を取得したいと考えています。
この単一の目的のために、サーバーに対してどのような最適化を行いますか?
(Machine.config の変更? Web.config の変更? 特別な IIS7 セットアップまたはモジュール? 何?)
web-optimization - Webの推奨ファイルサイズ
YSlowとPageSpeedの推奨事項を使用してWebパフォーマンスの最適化を行っていますが、ファイルサイズに関しては、どちらもそれについて何も述べていません。
誰かが私がいくつかのファイルタイプの最大サイズのいくつかの推奨をどこで得ることができるか知っていますか?たとえば、画像はXXXKBなどを超えてはなりません。しかし、私は提案だけでなく信頼できる情報源が必要です。つまり、XXXはいくつかの調査を行い、彼らはこれまたはそれを推奨しています。
c# - コードでFarFutureExpiresヘッダーを設定する-ASP.NET
ASP.NETを使用してコードでExpiresヘッダーをプログラムで設定する方法はありますか?具体的には、フォルダー全体とすべてのサブフォルダーに設定する必要があります。フォルダーには静的ファイル(JavaScript、CSS、画像など)のみが含まれ、aspxファイルは含まれないため、aspxコードにコードを追加することはできません。 -page_loadの背後。
通常、これはIISで直接設定できます。ただし、サーバーはクライアントによってロックダウンされており(展開用のWebアプリディレクトリへのFTPアクセスしかありません)、クライアントにIISでExpiresヘッダーを設定させるには氷の時代がかかります(これは公共部門/政府のサイトです)。
Yahooの推奨事項http://developer.yahoo.com/performance/rules.html#expiresに従って、フロントエンドの最適化の理由でこれを行っています。
更新: HttpModuleを作成してみました...
これはうまくいかないようですが。コードにブレークポイントを設定しましたが、正しく実行されているように見えます。ただし、Firefoxで生のHTTPヘッダー情報を分析すると、expires値が設定されていません。BeginRequestを使用していることに注意してください。ただし、PostReleaseRequestStateとPreSendRequestHeadersにもフックしようとしましたが、どちらも機能していないようです。何か案は?
アップデート2:わかりました。IIS6を実行しているため、HttpModulesは静的ファイルでは実行されず、動的ファイル(* .aspxなど)でのみ実行されます。RickNZの助けのおかげで、私は次のIHttpModuleを思いついた。
...動作しているように見えますが、Visual Studioの組み込みWebサーバーとIIS7(統合パイプラインモードの場合)でのみ機能します。同僚は、静的ファイルでHttpModulesを機能させるためにIIS6でワイルドカードマッピングを設定することについて言及しましたが、IIS6にアクセスできる場合は、Far-Future Expiresヘッダーを直接設定するだけで、このHttpModuleを気にする必要はありません。しかたがない!
web - Google Web Optimizer -- 組み合わせが決まるまでの時間は?
Google Web Optimizerで A/B テストを実行してから 6 週間が経ちましたが、まだ終わりが見えません。グーグルはまだ、「重要な結果を示すのに十分なデータをまだ収集していません。より多くのデータを収集すれば、勝者の組み合わせを示すことができるはずです」と言っています。
Google が決定にどれだけ近づいているかを知る方法はありますか? (「信頼性の高い勝者」がいるかどうかを判断するためにどのアルゴリズムを使用するか知っている人はいますか?)
Google のヘルプ ドキュメントによると、次のようになります。
信頼性の高いレベルに到達できるようにするために、より多くのデータが必要な場合があります。テストされた組み合わせは、そのパフォーマンスを確実に判断するために、通常約 200 回の変換が必要です。
しかし、私たちのすべてのコンバージョンには、現時点で 200 を超える会話があります。
230 / 4061 (オリジナル)
223 / 3937 (バリエーション 1)
205 / 3984 (バリエーション 2)
205 / 4007 (バリエーション 3)
どれくらい長く実行する必要がありますか??
助けてくれてありがとう。
css - CSS で 6 桁のカラー コードではなく 3 桁のカラー コードを使用するにはどうすればよいですか?
最近、CSS ファイルを調べて、6 桁の 16 進数コードをすべて単純な 3 桁のコードに切り替えました (たとえば、私のコード#FDFEFF
は に短縮されました#FFF
)。
以前とまったく同じ色をレンダリングします。中間部分はかなり役に立たないように思われ、それらを削除すると、CSS ファイルで 300 バイト全体が節約されました。
使用するバージョンは重要ですか? 3 桁のコードのみを使用する Web サイトに出くわすことはめったにありません (または、3 桁のコードのみを使用する Web サイトに出くわすことはめったにないと思います)。6 桁のコードよりも 3 桁のコードを使用することはまだ完全に有効ですか? それとも 6 桁のコード全体を使用することになっていますか?
web - Google ウェブ オプティマイザー (A/B テスト) 明確な勝者がないのはなぜですか?
以前、 Google の Web Optimizerに最適な組み合わせが表示されるまでにかかる時間を尋ねたことがありますが、A/B テスト中に別の奇妙な問題が発生しました。
過去 2 日間、Google は、元のバリエーションを27.4%上回る可能性が98.5%の「信頼度の高い勝者」が存在すると発表しました。すごい!
念のために実行しておくことにしましたが、奇妙なことが起こりました。今日、Google は「重要な結果を示すのに十分なデータをまだ収集していない」と言っています (以下を参照)。確かに数値はわずかに変化していますが、依然として非常に高い値です: 96.6%の確率で元の数値を22%上回っています。
では、なぜ今 Google はそれほど確信を持っていないのでしょうか?
統計的に有意な「信頼度の高い」勝者から、勝者を計算するのに十分なデータが得られない状況に陥ったのはどうしてでしょうか? 私の数値が小さすぎて、Google が確実に判断できないのでしょうか?
洞察をありがとう!
cross-browser - JavaScriptファイルとCSSファイルをバックグラウンドでプリロードして、ユーザーがメインページに移動したときにブラウザーのキャッシュで準備できるようにするにはどうすればよいですか?
ランディングで変換した後、メインサイトのロードを最適化するために、ランディングページからJSファイルとCSSファイルをプリロードしたいと思います。私はこれについての情報を探していて、最終的にこれを使用してこれを成し遂げようとしました:
Firefoxの場合はこれは素晴らしいですが、Chromeの場合、XHR呼び出しはcssファイルやjsファイルとは異なるキャッシュにキャッシュされているようです。JQueryは使用しません。ランディングページは軽量である必要があります(負荷が少なく、コンバージョン率が高い)。
元の問題を解決するための別の方法の推奨事項はありますか?(コンポーネントのプリロード)
Chromeにこれらのリクエストをキャッシュさせる方法を知っていますか?
web-applications - このページ キャッシュ システムは合理的ですか?
私は、ユーザーが多くのページをクリックする Web ベースのシステムに取り組んでいます。特定のページ (本の概要など) に戻ることがよくあるため、処理を高速化するためのキャッシュ メカニズムを実装したいと考えています。
ユーザーのコンテンツを表示する前に、ユーザーの ID とページの URL と共に、コンテンツの MD5 チェックサムをデータベースに保存します。
彼が次回ログインするときに、URL と UserID のエントリがあるかどうかを確認します。存在する場合は、保存されている MD5 を新たに計算したものと比較し、MD5 が等しい場合は、「変更されていない」ヘッダーを送信して、ブラウザーがページ全体をダウンロードする必要がないようにします。