問題タブ [etag]
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.
python - 有効期限のある Etag を作成する方法
有効期限のある etag を作成することを考えています。
実際には大量のパラメータでetagを作成しているのですが、有効期限付きで作成したいと思っています。
サーバー側に情報を保持するソリューションがありますが、情報をエンコードすることを好みます。
私はそれを行うためのより良い方法を探しています。
私はクッキーで解決策を考えています
caching - 期限切れのヘッダー、etag、およびコンテンツの更新の処理について考えていますか?
サーバーに依存しない eTag をサイトに実装しました。現在、304 要求のほとんどを防ぐために、expires ヘッダーを追加することを検討しています。
コンテンツを更新する必要がある場合に強制的に更新するのが難しくなるため、長い有効期限ヘッダーを使用することに懸念があります。また、次のようなバージョン管理クエリ文字列でコードを乱雑にすることも好きではありません。
だから私は、有効期限のヘッダーを、ほとんどすべてに対して 10 分のような短いものに設定することを考えています。この方法では、古いコンテンツの可能性があるウィンドウは 10 分間しかありませんが、通常のブラウジング セッションでは、ほとんどの 304 を停止します。たとえ彼らがもっと長く滞在したとしても、内容が変わらない限り、10 分ごとに 1 つの 304 を提供するだけです。
それはかなりエレガントに見えますが、上記のバージョニング クエリ文字列メソッドを使用しているサイトをたくさん見てきました。Google の mod_pagespeed でさえ、多かれ少なかれ自動的にバージョニングを行うオプションを持っているので、これが堅実なアプローチなのか、それとも実用的ではない何かが欠けています。
ありがとう
emacs - Emacs TAGS テーブルが lex/yacc ファイルの #line ディレクティブによって混乱する
大規模なソフトウェア プロジェクトで etags を使用して TAGS テーブルを生成しようとしています。TAGS ファイルは、lex/yacc で生成された .c ファイルの #line ディレクティブが # の代わりに非修飾ファイル名を参照するため、サブディレクトリに存在するファイルではなく、最上位に存在しないファイルへのエントリを持つことになります。ファイルを含むサブディレクトリを含む行。
トップレベルのファイルとして解釈されるのではなく、サブディレクトリ内の既存のファイルに適切に解決されたこれらの #line ディレクティブを使用して TAGS テーブルを生成するにはどうすればよいですか?
最上位ディレクトリから次のような etags を実行します。
しかし、生成されたファイルの途中に次の行を含むファイル act/Par.c があります。
その結果、次の TAGS テーブル エントリが生成されます。
しかし、ファイル Par.y は実際には act/Par.y にありますが、#line ディレクティブは現在のファイルに対して相対的ですが、TAGS はそれを生成された TAGS ファイルに対して相対的にします。
プロジェクトのビルド方法を変更せずに、TAGS ファイルを生成して、これらの #line ディレクティブが、それらが含まれるファイルに関連するものとして適切に解釈されるようにするにはどうすればよいですか? または、これらの面倒なファイルを簡単にスキップするにはどうすればよいですか?
asp.net - Filetimestamp:ChangeNumber を PowerShell で設定して、IIS の ETag を Web ファーム全体で一貫させる
PowerShell スクリプトを使用して、ASP.Net Web アプリケーションを Web ファームにデプロイしています。明らかに、両方のサーバーで ETag を同じにする必要があります。
を使用して ETag が生成されることは理解してFiletimestamp:ChangeNumber
いますが、ファイルの ChangeNumber を設定する方法がわかりません。これを行うと主張するブログ投稿 (参照 1) を見つけましたが、それは設定LastWriteTime
され、CreationTime
.
と をソース ファイルと同じに設定するLastWriteTime
と、ETag が強制的に同じになりますか? CreationTime
または、どうにかして設定する必要がありChangeNumber
ますか?
ChangeNumber
PowerShell を使用して設定することは可能ですか? または、ETag を完全に誤解していますか?
参照 1. http://omaralzabir.com/synchronize-file-date-time-in-multiple-servers-solve-iis-etag-problem/
asp.net-mvc - ASP.NETMVC-web.configのキャッシュと圧縮の設定が常に使用されているとは限りません
ASP.NET MVC 2アプリケーションでは、次の属性を使用してアクションを装飾しました。
(ETag属性には、ここにある属性クラスを使用しました。)
また、web.configに以下を追加しました。
私の問題は、ホスティングサーバーからページをロードしてFirebugのヘッダーを表示すると、ETagを受信しますが、キャッシュの有効期限がないことです。
ページをローカルにロードすると、応答にはETagがありませんが、「Cache -Control」フィールドと「Expires」フィールドが設定されています。
また、web.configでgzip圧縮を設定していますが、どちらの応答ヘッダーにも表示されないことに注意してください。
では、なぜweb.configファイルの設定が無視されているように見えるのでしょうか。私のホスティングサーバーがこれらを上書きする可能性はありますか?もしそうなら、彼らがキャッシュや圧縮設定を削除することはあまり意味がありませんか?
eclipse - Etagsを使用したEmacsでクラス、メソッド、変数の参照を見つけるにはどうすればよいですか?
プロジェクトのETagを設定した後、EclipseでCtrl+Shift+G(またはMacで)実行できるのと同じ方法で、Emacsでクラス、メソッド、変数へのすべての参照を検索したいと思います。Cmd+Shift+G
コードをうまくナビゲートすることはできますが、物事への参照を見つけることは大きなコードベースを理解するための鍵です。これはEmacsで可能でなければならないことは確かですが、それについては何も見つかりません。おそらくEmacsの専門家はすぐに知っているでしょう。
ありがとう。
python - Python: クロール中に変更されていないページをダウンロードしないようにするための最適なアルゴリズム
ニュース Web サイトのリストに新しい記事がないか定期的に検査するクローラーを作成しています。不要なページのダウンロードを回避するためのさまざまなアプローチについて読んだことがあります。基本的に、ページが変更されたかどうかを判断するのに役立つ 5 つのヘッダー要素を特定しました。
- HTTP ステータス
- ETAG
- Last_modified (If-Modified-Since リクエストと組み合わせる)
- 期限切れ
- コンテンツの長さ。
優れたFeedParser.orgは、これらのアプローチのいくつかを実装しているようです。
この種の決定を行う最適なコードを Python (または同様の言語) で探しています。ヘッダー情報は常にサーバーから提供されることに注意してください。
それは次のようなものです:
c# - c# で http ETag を生成するにはどうすればよいですか?
http リクエストの一部としてファイルが返されるとします。そのファイルの ETag を作成する正しい方法は何ですか?
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19
私はそれがいくつかの方法で行われるのを見てきました
- ティックに変換されたファイルの最終書き込み時刻を使用します。これは、NancyFX が行うことですhttps://github.com/NancyFx/Nancy/blob/master/src/Nancy/Responses/GenericFileResponse.cs
- ファイルのハッシュを使用http://hartzer.wordpress.com/2009/10/04/client-side-caching/
etag - ETag に表示される Clicklifter
サイトでYSlowを実行したところ、ETag の下に次のように表示されます。
それが何であるか、またはそれを取り除く方法がわからず、これに関する情報がどこにも見つかりません。
ビューソースに表示されず、 YSlowの「エンティティタグの設定」の下に表示される場合、少なくとも誰かがそれを取り除く方法を教えてもらえますか?