| CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Tue, 23 Dec 2025 04:39:56 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20100207032200
location: https://web.archive.org/web/20100207032200/https://github.com/simonw/dogproxy
server-timing: captures_list;dur=0.705072, exclusion.robots;dur=0.051847, exclusion.robots.policy;dur=0.038766, esindex;dur=0.009976, cdx.remote;dur=19.326606, LoadShardBlock;dur=158.627246, PetaboxLoader3.datanode;dur=79.290338, PetaboxLoader3.resolve;dur=39.813820
x-app-server: wwwb-app204-dc6
x-ts: 302
x-tr: 219
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
set-cookie: wb-p-SERVER=wwwb-app204; path=/
x-location: All
x-as: 14061
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Tue, 23 Dec 2025 04:39:57 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.7.61
x-archive-orig-date: Sun, 07 Feb 2010 03:22:00 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-etag: "8b13ff7af55c08d905b213860344e978"
x-archive-orig-x-runtime: 99ms
x-archive-orig-content-length: 21484
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Sun, 07 Feb 2010 03:22:00 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 51_14_20100206234833_crawl100-c/51_14_20100207032033_crawl101.arc.gz
server-timing: captures_list;dur=0.548747, exclusion.robots;dur=0.018260, exclusion.robots.policy;dur=0.007857, esindex;dur=0.010306, cdx.remote;dur=22.549519, LoadShardBlock;dur=315.566697, PetaboxLoader3.datanode;dur=183.761136, PetaboxLoader3.resolve;dur=383.237216, load_resource;dur=329.144687
x-app-server: wwwb-app204-dc6
x-ts: 200
x-tr: 716
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-as: 14061
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
simonw's dogproxy at master - GitHub
This service is courtesy of Pledgie.
simonw / dogproxy
- Source
- Commits
- Network (2)
- Issues (0)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
click here to add a description
click here to add a homepage
-
Branches (1)
- master ✓
- Tags (0)
Sending Request…
Enable Donations
Pledgie Donations
Once activated, we'll place the following badge in your repository's detail box:
Experimental HTTP proxy (using node.js) for avoiding the dog pile effect. — Read more
dogproxy /
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Wed Feb 03 03:15:15 -0800 2010 | dogproxy implementation [simonw] |
| |
dogproxy.js | Wed Feb 03 03:40:07 -0800 2010 | made everything a bit more robust - I'm sure th... [simonw] |
| |
readme.txt | Wed Feb 03 03:42:48 -0800 2010 | fixed newlines, added project status note [simonw] |
readme.txt
dogproxy ======== A very simple dog pile preventing proxy. The dog pile effect (also known as a thundering herd) affects caching systems that use time-based expiry. In a heavy traffic system, a cached item expiring could cause dozens of parallel "update" requests to be fired at once. dogproxy assumes that these update requests go over HTTP. It joins together simultaneous requests for the same URL, and only performs one actual fetch to that resource. STATUS: highly experimental. Known bugs (Content-Type is not correctly passed through, for example). Expect to modify this code further before use. Usage: $ node dogproxy.js Server running at https://127.0.0.1:8009/ $ ab -n 10 -c 5 'https://127.0.0.1:8009/?url=https://example.com/' dogproxy.js says: Request for https://example.com/ ... kicking off backend HTTP fetch Request for https://example.com/ ... already in flight, adding to queue Request for https://example.com/ ... already in flight, adding to queue Request for https://example.com/ ... already in flight, adding to queue Request for https://example.com/ ... already in flight, adding to queue Fetched https://example.com/, alerting 5 waiting clients Request for https://example.com/ ... kicking off backend HTTP fetch Request for https://example.com/ ... already in flight, adding to queue Request for https://example.com/ ... already in flight, adding to queue Request for https://example.com/ ... already in flight, adding to queue Request for https://example.com/ ... already in flight, adding to queue Fetched https://example.com/, alerting 5 waiting clients
