I am quite interested in this question, and have not yet reached a conclusion about which one is better for my application, but I have these thoughts:

Squid is much more mature, for example with respect to:
- Support for inter-cache protocols
- Support for specific client and server idiosyncrasies
- Logging and diagnostics (at least in relation to reverse proxy caching)

The Apache code is, to me, quite a bit easier to read.

Squid has a few special-purpose extensibility hooks (like for redirectors and authentication helpers), but Apache has more generic APIs that offer better opportunities for modularity.

One suspects that Apache's MPMs may be able to better exploit modern multiprocessor hardware under certain circumstances, but I'm not yet sure of which circumstances.

Squid will not bring popular disk hits into memory after it has been restarted. It will only cache in memory resources that it has retrieved from across the network. I have not yet checked Apache on this score.

In tinkering with the source, I've found it much easier to bring down Squid with a programmer error as compared with Apache.

Other details that I think I understand, but I'm not totally sure of:

- Apache must perform a seek to discover a disk-cache hit, whereas Squid consults an in-memory index of disk resources.

- It looks like "Vary" support is partially broken in Apache, and that it stores at most one variant.

- Apache doesn't do negative caching (of 404s, for example) like Squid.

I haven't found any direct comparisons of the two on the web.

-Ben

[EMAIL PROTECTED] wrote:
Are there any resources that compare using Squid as a reverse proxy versus Apache? We currently use Apache as our reverse proxy, and do some url rewriting, and cookie based conditional url rewriting. Is there an advantage to using Squid instead? Disadvantages? Thanks!

=========================
Scott Mace
Security Administrator
Travelcenters of America
440-808-4318
[EMAIL PROTECTED]
=========================


Reply via email to