On Thu, 2 May 1996, Daniel LaLiberte wrote:
> 1) How to request metadata for a resource.
>
> So what this argument is leading up to is that the request for metadata
> must be essentially a wrapper around another request. The metadata for
> the result of processing the wrapped request is what should be returned
> by the metadata request. Now this wrapping might be done either using a
> META method or a Meta header in the request. As a header, the Meta
> header would always be recognized as being effectively outside of the
> request it is contained in. This is weird, and it also prevents us from
> asking for meta-metadata, which itself is weird, but useful anyway.
If we use MIME as the container syntax then we can include metadata IMTs
in the Accept: header. Plus possibly add in a Metadata: header to allow the
client to request that just the metadata for an object, or just the object
itself or both are returned (if no Metadata: header is provided, assume that
only the object is required for backwards compatibility reasons). This
could work nicely with some of the existing HTTP methods. For example,
you might get something like (excluding all the other great HTTP headers!):
C: GET /foo/bar/yoghurt.html HTTP/1.0
C: Accept: text/html, text/plain, x-metadata/x-dcessgml, x-metadata/x-pics,
x-metadata/x-usmarc
C: Metadata: both
C:
S: 200 OK
S: Content-type: multipart/related; boundary="qxyzqxyzqxyzqxyzqxyz"
S:
S: --qxyzqxyzqxyzqxyzqxyz
S: Content-type: x-metadata/x-dcessgml
S:
S: <!DOCTYPE dublinCore PUBLIC '-//OCLC//DTD Dublin core v.1//EN'>
S: <dublinCore>
S: <title>Yoghurt is nice cos Simon Spero says so.</title>
S: <author>Jon Knight</author>
S: <date name='created' scheme='ISO'>1996-05-02</date>
S: <objectType>Toy example</objectType>
S: <form scheme='IMT'>text/html</form>
S: </dublinCore>
S: --qxyzqxyzqxyzqxyzqxyz
S: Content-type: text/html
S:
S: <HTML><HEAD><TITLE>Yoghurt is nice!</TITLE></HEAD>
S: <BODY><H1>Yoghurt is nice cos Simon Spero says so.</H1>
S: <P>So there.</BODY></HTML>
S: --qxyzqxyzqxyzqxyzqxyz--
Now of course this means that the WWW browser needs to understand
multipart MIME stuff but that shouldn't be too tricky to do.
> 2) How to request that some new metadata should be associated with a resource.
>
> This is something like a PUT relative to a GET. But the issue gets more
> complex again when we consider wrapping of requests. I have nothing
> more intelligent to add at this hour.
Sounds very similar to the form uploading idea - maybe we can use the
same sort of idea?
> 3) How to signal that metadata is being sent instead of the requested resource.
> The server should signal that metadata is being returned with
> either a particular status code, or with a new header line.
> (Other alternatives?)
I was going to say MIME types but you can't use that because you might be
requesting an x-metadata type as a first class object and also be getting
other x-metadata typed objects as the metadata about it. Which I guess
is a bit of a problem if you group the metadata with the object in a
multipart MIME object. Hmm.
Tatty bye,
Jim'll
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Jon "Jim'll" Knight, Researcher, Sysop and General Dogsbody, Dept. Computer
Studies, Loughborough University of Technology, Leics., ENGLAND. LE11 3TU.
* I've found I now dream in Perl. More worryingly, I enjoy those dreams. *
|