> So, a FN address over http would be something like this:
> 
> http/u.v.x.y
> 
> and the http protocol plugin might use some rule to translate it into
> something like this:
> 
> http://u.v.x.y/cgi-bin/fncgi

Actually an address would look more like this:
http/u.v.x.y/cgi-bin/fncgi

> and the body might be something like this:
> 
> Content-length: 11111
> ...
> <encrypted freenet data>
> InsertRequest
> SearchKey=...
> Source=http/a.b.c.d
> HopsToLive=4
> End
> </encrypted freenet data>

Yeah, sort of something like that. However, we now have to do key
negotiation for the session, which complicates things somewhat. I don't
know what the best way to handle that is. It would be easiest to do it in
a two part exchange. One to get the encryption key, another to actually
send the message, but people will complain that it's slower. I can't think
of how to do it all over a single HTTP transaction, though. Here's an
example of the two connection exchange. Forgive any inaccuracies. I'm
fuzzy on how the key exchange is happening these days as I've been off in
client-side world.

So something like this:
C: GET /<first part of key exchange> HTTP/1.1
C: <blank line>
S: HTTP/1.1 200 OK
S: <second part of the key exchange>

C: PUT / HTTP/1.1
C: <blank line>
C: <encrypted FNP message>
S: HTTP/1.1 200 OK
S: <encrypted FNP messages until a result or a failure>

Before someone mentions it, yes this is way more of a pain that just
encapsulating the Freenet protocol over SOAP. While I think that SOAP
would be just great as a client protocol, speed is big issue with node
communication, so I am wary.

I think you might be able to do this all over a single Keep-alive HTTP
connection, but I'm not quite sure how. HTTP isn't my forte.



_______________________________________________
Devl mailing list
Devl at freenetproject.org
http://www.uprizer.com/mailman/listinfo/devl

Reply via email to