問題タブ [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.
spring-mvc - Spring MVC オプションで、単一のマッピングでビューを返さない
私がする必要があるケースがあります:
- ブログが変更されていない場合は、304 not modified ステータスを返します
- または、If-Modified-Since リクエスト ヘッダー以降に変更されている場合は、ブログ ビューを返します
問題は、304 ステータスを返したいときです。null リターンから別のビューを想定しないように spring mvc に指示し、ステータスを含む応答の送信をすぐに開始するにはどうすればよいですか?
android - 応答コード 304 および 200 の場合のボレー例外エラー
Volley ライブラリをいじってみると、 POST を作成するときにJsonObjectRequest
、サーバーが response にデータのないコード 304 または 200 を返した場合(response.data)
、Volley はそれを成功ではなくエラー応答として解釈することに気付きました。
Response<JSONObject> parseNetworkResponse(NetworkResponse response)
クラスのメソッドに数行のコードを追加することで、なんとか解決しましたJsonObjectRequest.java
。
この問題の最善の解決策はありますか?
ありがとう!
編集
クラスのチェックBasicNetwork.java
Volley は、 if を尋ねることで、応答にデータがないかどうかをチェックしていることに気付きましたhttpResponse.getEntity() != null
。
しかし、依然として問題は、Volley が parseNetworkResponse メソッドで新しい文字列を作成しようとしたときに発生するresponse.data == new byte[0]
JSONException です。
php - PHPから送信された画像の再ダウンロードを回避する
PHPスクリプトから送信された画像を含むWebサイトがあります。ETag が送信され、次のリクエストでチェックされるたびに。それはうまくいきます。最初のページを開くと、すべてのファイルが 200 Ok でダウンロードされ、次のページでは 304 Not Modified でダウンロードされます。
しかし、httpサーバーから直接送信された一部のファイルは、ページを再度開いたときに変更されたイベントがチェックされていないことに気付きましたが、リロード中です(F5)。
私がやりたいことは、ブラウザがファイルが変更されたかどうかのチェックをスキップし、キャッシュされたバージョンを表示することです。そこで、http および php スクリプトがブラウザに送信している応答を確認しました。
http サーバーからの静的コンテンツ:
PHP スクリプトによって提供されるコンテンツ:
したがって、違いは次のとおりです。
しかし、ブラウザが更新をチェックしないようにすることができると私が思う唯一のものは、Last-Modified です。したがって、Last-Modified を php スクリプトに追加すると、ブラウザは更新のチェックをスキップしますか?
python - requests.codes.ok には 304 が含まれていますか?
requests モジュールを使用して、304 "Not Modified" で (正しく) 応答する get 要求を送信するプログラムがあります。リクエストを行った後、確認するためにresponse.status_code == requests.codes.ok
チェックしますが、このチェックは失敗します。リクエストは 304 を「OK」と見なしませんか?
google-chrome - キャッシングの問題 w. カスタム Web サーバー。Chrome は If-Modified-Since ヘッダーを送信しませんが、時々 304 を取得します
キャッシング機能を追加した、NanoHTTPD で構築されたカスタム Web サーバーを使用しています。304 Not Modified 応答をスローする可能性のあるコードの部分は 1 つだけです。
isNotModified メソッド:
何らかの理由で、ヘッダーに If-Modified-Since が指定されていない (またはキャッシュに関連するものがない) にもかかわらず、(少なくとも) Chrome で 304 を取得しています。これにより、ブラウザーはリソースを空の文字列として解釈し、物事を壊します。
http - 304 ステータス コードが「リダイレクト」としてカウントされるのはなぜですか?
現在、304/Not modified が HTTP ステータス コードの 3xx 範囲クラスにどのように適合するかを理解しようとしています。RFC 1945、秒。9.3およびRFC 2616、秒。10.3両方とも読んだ:
このクラスのステータス コードは、リクエストを満たすためにユーザー エージェントがさらにアクションを実行する必要があることを示します。
「クライアントのローカル キャッシュからの読み込み」は明らかに「追加のアクション」ですが、HTTP の意味でこれがどのようにリダイレクトされるかを理解するのに苦労しています。私はこれを文字通りに読みすぎていますか?