問題タブ [http-status-code-304]

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.

0 投票する
3 に答える
4083 参照

http-status-code-304 - サーバーが 304 で応答しないようにするにはどうすればよいですか?

サーバーが 304 で応答しないようにするために実行できる手順を知る必要があります。

0 投票する
2 に答える
4553 参照

.htaccess - .htaccessで変更されていない304を返すことは可能ですか?

ユーザーがブラウザにファイルをキャッシュしていて、ヘッダー付きのhttpリクエストを送信する場合、 .htaccessを使用If-Modified-Sinceして自動的に応答を提供する方法はありますか?304 Not Modified

0 投票する
0 に答える
216 参照

http - HTTP 304 を受信した後、ブラウザがページのキャッシュなしバージョンを表示している

私のWordpressとnginxの構成で発生しますが、IMOはブラウザ/ HTTP関連の問題です。

すべてが 1 つのページであり、ログイン ユーザーと匿名ユーザーの 2 つのバージョンで表示されます。シナリオ:

  1. Wordpress は、キャッシュする必要があるユーザー ページを提供しています (HTTP 200)
  2. ログインしているユーザーに対して、Wordpress がキャッシュすべきではないページ (キャッシュ ヘッダーのない HTTP 200) を提供しています。
  3. ログアウト後、ユーザーにページ番号 1 を受信して​​もらいたいのですが、ブラウザのキャッシュからページ番号 2 を取得しています。Nginx は HTTP 304 を送信しているため、ブラウザは最後にキャッシュされたページをブラウザのメモリまたはサーバーから取得する必要があります。しかし、それは起こっていません。

これらは上記の場合の HTTP ヘッダーです: http://pastebin.com/nJAxLQSq

0 投票する
0 に答える
1151 参照

.htaccess - 期限切れと 304 変更されていない要求

Expires を設定して Etags を無効にしたのに、304 応答が返されるのはなぜですか?

これは私の .htaccess ファイルです:

0 投票する
1 に答える
2812 参照

c# - InternetExplorerがAjaxPullを介してキャッシュデータを表示し、304の結果が得られる

ChromeとFFで完全に機能するツールがあります。ただし、IEのどのバージョンでも、ブラウザーはAjaxプルを実行してデータを取得するよりもキャッシュ情報を表示しています。

これが私の設定です:

ループする基準があります。

ImageActionLinkは、内部に画像を含むActionLinkを作成する単なるヘルパーです。通常のActionLinkでこれを実行しようとしましたが、問題が発生するため、無視してかまいません。また、ImageActionLink全体<img>をjQueryトリガーを使用したプレーンで変更しようとしましたが、違いはありません。

ユーザーが[編集]リンクをクリックすると、「AddOrEditCriteria」へのajax呼び出しが行われ、そのActionResultが条件を見つけて、PartialViewフォームをdiv「#AddOrEditCriteriaFormContainer」に表示します。これまでのところ、これはすべてのブラウザで正常に機能します。

しかし、その編集を2回クリックすると、ajax呼び出しを行う代わりに、IEは、他のすべてのブラウザーがデータを正しくプルするときに、キャッシュにあったものからPartialViewを表示するだけです(これは、ビューで許可されているため、必要です)。基準を編集します。その間に他の誰かが編集した可能性があります)。

奇妙な部分は、IEが呼び出しを行っているが、どういうわけかサーバーに到達せず、結果304を使用してキャッシュを使用することです。このネットワークキャプチャから次のことがわかります。

最後の1つが最初に発生し、最初の2つはその後に実行され、304のリターンを取得しています。

乱数を使用してajax呼び出しに「breakcache」パラメーターを追加することで修正する方法を見つけましたが、それは良い解決策とは思えません。

IEが原因ですべて更新されるべきではないデータが表示されるため、この問題はユーザーを悩ませてきました。

0 投票する
2 に答える
5089 参照

jquery - Jquery.get() が IE8/9 で機能しない。キャッシュされたページをロードしません 304 変更されていません

  • Code Igniter バージョン '2.0.3'
  • Jクエリ1.7
  • Jquery 履歴プラグイン

私は ajax 方式で構築した CodeIgniter アプリを持っています。次のような機能があります。

ajax_link のクラスでアンカー要素のクリックをキャプチャし、その応答データのページへの配置を処理する関数に応答を送信します。

これは Chrome と FF で機能します。リンクをクリックすると、jQuery が get 要求を行い、JSON オブジェクトを取得し、history.pushState() 関数が json データの一部をページに挿入します。

私が抱えている問題はIE8にあります。基本的に、アプリを最初に開いたときにリンクが機能しますが、一度しか機能しません。2 回目にリンクをクリックすると、次のようになります。

  • ajaxかGET
  • 304 (Not Modified) の応答を受け取ります
  • コールバック関数を呼び出さないjQuery.get()ため、停止します。

キャッシュをクリアすると、再び機能します。したがって、IE が get 要求を行っていると想定していますが、過去にまったく同じファイルが既に要求されていることがわかり、プロセスが完全に停止します。

誰もこれに対する解決策を知っていますか? 304 エラーと ajax および IE のキャッシュに関するエラーについての言及を探しましたが、私のものと同じ問題はまだ見つかりませんでした。

どんな助けでも大歓迎です

(Windows 仮想マシン IE8、および Internet Explorer 9 の IE 8 モードでテスト済み)

解決済み

次のコードを document.ready 関数に追加するだけで、問題はなくなりました。

0 投票する
0 に答える
458 参照

http-status-code-304 - firefox はヘッダーを送信しません: if-modified-since after receive Last-modified from the response

firefox はヘッダーを送信しません: if-modified-since 後、応答から Last-modified を受け取りました。例: Firefoxの webviewで Web サイトを読み込んで、このページを数回読み込んだ後、コンソールで F12 を押します。スクリーンショットの下に表示されます。

リクエストヘッダーに「if-modified-since」がないのはなぜですか?

レスポンスのステータスコードは 304 のはずだと思っていたのですが、200 です。

ありがとう..

0 投票する
2 に答える
3819 参照

asp.net-mvc-4 - mvc 4 バンドルと縮小 - 更新しても 304 (変更されていません) になりません

MVC 4 Beta のバンドルと縮小を試していSystem.Web.Optimizationます。私が使用しているサイト304 (Not Modified)が更新時に を受け取ることを期待していました。

私の js バンドル/desktop-js-bundle?v=D33JhbMl9LHkXSPBj1tfRkRI0lHeYVmbSMQqD59bXHg1(そのバージョン #) に対する src のポイントは、サーバー上のバンドル内のファイルの 1 つが変更された場合にのみバージョン # が変更されることだと思いました。それでも、更新を押して Chrome の [ネットワーク] タブを監視するたびにF12、同じバージョン番号でリクエストが行われ、200ステータスが取得されます。

304 を返さないのはなぜですか?これにより、負荷が減少し、適切な量のパフォーマンスが向上します。ありがとう!

0 投票する
1 に答える
755 参照

jquery - 304ステータスコードを取得するときにjquery ajax呼び出しがキャッシュからデータ変数を設定しないのはなぜですか?

モバイルアプリでjquery ajaxを使用して、安らかなAPIを介してjsonデータを取得しています。私の安らかな API は、etags をサポートするように構成されています。私の安らかな API は別のサブドメインでホストされているため、クロスドメイン呼び出しを処理するように CORS を構成しました。私の開発環境では、モバイル アプリを test.domain.com で実行するように構成し、restful api を test2.domain.com で実行するように構成して、クロス ドメイン呼び出しをテストできるようにしました。これはすべてうまくいきます!私の ajax 呼び出しは、etags で期待するとおりに動作します。

json コンテンツを取得するための呼び出しを行います。

ステータス 200 を取得し、成功コールバックのデータ変数にデータが含まれています。同じリソースに別の呼び出しを行います (変更は想定されていません) ステータス 304 が返され、成功コールバックのデータ変数にデータ (キャッシュからロードされたもの) が含まれます。

ここまでは順調ですね。

モバイル アプリと安静な API の両方を同じドメインに配置するように開発環境を構成すると、ここで問題が発生します。

ステータス 200 を取得し、成功コールバックのデータ変数にデータが含まれています。同じリソースに別の呼び出しを行います (変更は想定されていません) ステータス 304 とデータ変数が undefined になります!!!!

この構成でjqueryがデータ変数にキャッシュにあるものを入力しない理由は何ですか? また、Ajax 呼び出しで CORS とクロスドメイン設定を削除しましたが、まだ運がありません。jquery 1.7.1 を使用しています。

0 投票する
0 に答える
1153 参照

ajax - 応答で 304 ではなく 200

簡単な問題:

onResponseReceive getStatusCode304 ではなく 200 を返します。Fiddler は、応答ステータスコードが 304 であることを教えてくれます。

どうすればいいですか: サーバーに新しいデータがないか常にポーリングします (10 秒ごと)。データが変更されていない場合は 304 で応答し、そうでない場合は 200 とデータ全体で応答します。onResponseReceived メソッドでは、statuscode は常に 200 で、データは常に存在します。

304 を取得する方法を教えてください。 If-Modified-Since について読んだことがありますが、これによりデータ全体が (コード 200 で) 再送信されますが、実際には 304 が必要です。変更されたかどうかを確認します。

GWT コード:

応答:

よろしく、 ステファン