0

我使用 Apache 作为代理服务器。它用于缓存。根据 HTTP 请求进行缓存存在问题。

当我使用代理以及 wget 或 Perl 与 LWP 时,它们会在标头中发送带有 URL 的 HTTP 请求GET,如下所示:

GET http://www.google.pl/ HTTP/1.1
User-Agent: Wget/1.13.4 (linux-gnu)
Accept: */*
Host: www.google.pl
Connection: Close
Proxy-Connection: Keep-Alive

当我使用带代理的 curl 或不带代理的 Perl 或 wget 时,请求很好:

GET / HTTP/1.1
User-Agent: Wget/1.13.4 (linux-gnu)
Accept: */*
Host: www.google.pl
Connection: Keep-Alive

在第一种情况下,Apache 不缓存数据。我读到这CacheQuickHandler是对此负责的,但是当我将其关闭时,http.conf它无济于事。

我的问题是:

  1. 我可以强制 Perl 或 wget 发送标准 HTTP 请求(GET标头中没有 URL)吗?

  2. 我应该如何配置 Apache 来缓存这两种类型的请求,这将如何影响 Apache 的性能?

4

1 回答 1

1

两种形式的 HTTP 请求都是“标准的”,但是对代理的请求必须包含绝对 URI,因此只有第一种形式是有效的。

于 2012-12-30T21:10:39.073 回答