Hello Ian,<br><br>I was thinking about how to integrate digger with my "P2P conditional get" idea. The steps when making certain kinds of requests for a URL (like for RSS/Atom enclosures) would roughtly be llike the followig. (Although configuration options would allow you to change this.)
<br><br><ol><li>Look in "cache" for URL. If in there, then get "ETag" or "Last-Modified" value.</li><li>Make an HTTP request on the server. Send a "If-None-Match" or "If-Modified-Since" "conditional get" if found "ETag" or "Last-Modified" from previous step. Also, send a "X-If-No-Link" for P2P protocols we understand.
</li><li>If the server sends back a "304 Not Modified" then we have the up to date file. (So we're done. Else....) If the server sends back a "204 No Content" then get the "Link" headers (the server returned) and shunt over to the "preferred" P2P network. Else get dijjer to get it.
<br></li></ol><br>Step #1 is where I wanted to look into dijjer's cache. (Step #2 is in there so that the publisher can provide "sanctioned" ways of getting the file off of P2P networks.)<br><br><br>P.S.<br><div style="margin-left: 40px;">
I don't think that the mailing list is sending all the messages/replies I've sent. Although the messages are in the mailing list archive, mailman -- the mailing list software -- sent 3 messages to me says it wasn't able to send (3) messages.
<br></div><br><br>See ya<br><br><br><div><span class="gmail_quote">On 2/17/06, <b class="gmail_sendername">Ian Clarke</b> <<a href="mailto:ian@locut.us">ian@locut.us</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>No, Dijjer peers don't cache entire files, rather they just cache 256k blocks of files, and these are stored in a single binary file. Typically any given Dijjer peer would probably only be caching one block from any given file.
</div><div><br></div><div>Can you elaborate on why you might want to do this?</div><span class="sg"><div><br></div><div>Ian.</div><br></span><div><div><span class="e" id="q_109794a0d23e7cf5_3"><div>On 17 Feb 2006, at 00:09, Charles Iliya Krempeaux wrote:
</div><br></span></div><blockquote type="cite"><div><span class="e" id="q_109794a0d23e7cf5_5">Hello Ian,<br><br>Is there a way to get at dijjer's cached files besides going through it's local HTTP server? (I.e., with direct file I/O.)
<br><br><br>See ya<br><br><div><span class="gmail_quote">On 2/14/06, <b class="gmail_sendername"> Ian Clarke</b> <<a href="mailto:ian@locut.us" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">ian@locut.us
</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">On 14 Feb 2006, at 16:38, Charles Iliya Krempeaux wrote: <br>> I've been actually considering using a local HTTP server to implement
<br>> things. (Which is something you are doing too.) Although I thought<br>> some extra "sugar" was warranted, to help with (user) usabiliy and <br>> developer usability.<br><br>We have added some sugar too. For example, we have javascript
<br>available on our site that can detect whether Dijjer is present on<br>the user's machine and redirect the user to a download page if it isn't. <br><br>> I skimmed through the stuff on <a href="http://dijjer.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
dijjer.org</a>, and I have a questions.<br>> Does digger pay attention to HTTP headers? And act basically as a web<br>> cache?<br><br>Yes, we have attempted to stick as closely to the HTTP protocol as <br>possible.
<br><br>> For example, here's some (but not all) "rules" that I was planning on<br>> following.... If HTTP headers "say" that something should NOT be<br>> cached, then it should NOT be on the P2P network.
<br><br>Yes, we obey the various HTTP no-cache headers. We consider it<br>important for Dijjer to act as much like a HTTP cache as possible so<br>that we are afforded the protection the DMCA gives to caches for<br>copyright infringement.
<br><br>> Stuff on the P2P<br>> network should be removed after the date for the "Expires" header<br>> passes?<br><br>We don't obey "Expires" explicitly, but since Dijjer pings the<br>original web server each-time something is downloaded to ensure that
<br>the file is still there and hasn't changed, if it is removed from the<br>web server, it will effectively be removed from Dijjer at the same<br>instant.<br><br>> Things from non-HTTP GET methods should NOT be put onto the
<br>> P2P network? Etc.<br><br>We attempt to be smart about our interaction with HTTP, if there are<br>shortcomings in this regard they will be easy to fix.<br><br></blockquote></div></span></div></blockquote></div></blockquote>
</div><br clear="all"><br>-- <br> Charles Iliya Krempeaux, B.Sc.<br><br> charles @ <a href="http://reptile.ca">reptile.ca</a><br> supercanadian @ <a href="http://gmail.com">gmail.com</a><br><br> developer weblog:
<a href="http://ChangeLog.ca/">http://ChangeLog.ca/</a><br>___________________________________________________________________________<br> Make Television <a href="http://maketelevision.com/">
http://maketelevision.com/</a>