キャッシングがプロキシ サーバーの主要なユーティリティの 1 つであることは理解しています。現在、単純なものを開発しようとしていますが、キャッシュがどのように機能するかを正確に知りたいです。
直感的には、基本的にリクエストとレスポンスの関連付けだと思います。たとえば、「GET google.com」というリクエストに対して、「HTTP/1.0 200 OK...」というレスポンスが返されます。
そうすれば、プロキシ サーバーがその URL へのリクエストを受信するたびに、キャッシュされたレスポンスで応答できます (キャッシュされたレスポンスを提供するタイミングと、リクエストを実際の宛先に実際に送信するタイミングについては、今のところあまり心配していません)。
私が理解していないのは、リクエストとレスポンスの間の関連付けを確立する方法です。HTTP レスポンスには「X URL をリクエストしたときに得られるレスポンスです」というフィールドがないためです (またはそうしますか?)。 .
基盤となるプロトコルを分析してこの情報を取得する必要がありますか? もしそうなら、どのように?