問題タブ [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.
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の「エンティティタグの設定」の下に表示される場合、少なくとも誰かがそれを取り除く方法を教えてもらえますか?
asp.net - asp.netで画像のetagを生成していますか?
私のサイトでは、ユーザーは公開されている画像をアップロードできます。ユーザーが新しい画像をアップロードすると、古い画像の 1 つが上書きされます。
画像が大きくなる可能性があるため、キャッシュしたい。ただし、ユーザーが新しい画像をアップロードするときは、キャッシュされた古い画像を使用しないでください。
動的画像のソースは次のようになります。
したがって、必要に応じて、.ashx ファイルの応答にヘッダーを挿入できます。
この目的で etags を使用するように言われましたが、asp.net でこれを行う方法がわかりません。私のサイトの.js
および.css
ファイルには既に etag がありますが、何が生成されているのかわかりません。また、etags を生成するための組み込みシステムは、私の .ashx ファイルがどのように機能するかを理解していない可能性があります。
サイトの etag を生成し、想定どおりに機能させるにはどうすればよいですか?
wcf - WCF で動作するように if-modified-since ヘッダーを取得する
「if-modified-since」ヘッダーを WCF Web サービスで動作させようとしています。
ユーザーが私のサービスにリクエストを送信すると、次のように、リクエストのタイムスタンプを含む送信応答に ETag を追加します。
これにより、次の ETag ヘッダーが生成されます。
次に、この値を取得し、次のような後続のリクエストの if-modified-since ヘッダーとしてエコー バックします。
WebOperationContext.Current.Headers.IfModifiedSince を調べると、提供された値が得られません。値は「12/31/1969 7:00:00 PM」固定です。
私は何を間違っていますか?
アップデート
Fiddler を使用すると、If-Modified-Since ヘッダーに任意の値を設定しても、コードで同じ 1969 値を取得できることを付け加えておきます。
iis - IIS 7.5 は応答から etag ヘッダーを削除します
この質問は何度も聞かれたことは知っていますが、そのほとんどは 2009 年から 2010 年にかけられたものです。
しばらく前に取り組んでいたプロジェクトでそれらを削除したことは確かですが、現時点ではそれらを削除する方法が見つかりません。
では、この分野で何か進歩はありましたか? Microsoft が IIS でこれらのヘッダーを簡単に構成できないようにしたのはおかしいと思われます。
現在試してみました:
- 空白の etag ヘッダーを web.config に追加する
- 内部に引用符を含む etag を web.config に追加する
- IIS から直接空白の etag ヘッダーを追加する
- BeginResponse で etag を削除するカスタム モジュールを追加する
- 上記と同じですが、EndResponse の場合
- 上記の両方と同じですが、etag を削除する代わりに空にします
それらを削除できるISAPIフィルターがあると聞きましたが、どこにも見つからず、最初から作成した経験がありませんが、それを行う唯一の方法になる可能性があります.
すべての Etags を削除したい理由があります。クライアントにすべて (有効期限と最終更新日) をキャッシュさせるので、サーバーから静的ファイルを取得したら、有効期限が切れるまでサーバーに再度クエリを実行する必要はありません。Etags を使用する場合と同様に、タグがまだ一致しているかどうかを確認するために、ファイルごとにサーバーにリクエストを送信する必要があります。したがって、クライアント キャッシュを使用して、必要なコンテンツのみを要求します。
また、バージョン管理システムを導入しているため、変更が発生すると、静的コンテンツは my.js?12344 ではなく my.js?12345 として参照されます。とにかくポイントは、Etags を削除すると、現在のプロジェクトのボトルネックの 1 つが大幅に改善されると現在信じていることです。