The PICS PUT proposal outlines a method for submitting labels to a label bureau. In a similar manner, this document outlines a procedure for sumbitting searches to the label bureau via PICSRules.
In PICS Label Distribution Label Syntax and Communication Protocols, the detailed label bureau query syntax is as follows:
request :: get | post get :: 'get' url-fragment '?' [opt] [format] extension* url+ service+ post :: 'post' url-fragment crlf crlf formencodeddata
Note that the PICS Label Distribution Label Syntax and Communication Protocols specification does not allow labels to be submitted to the label bureau. We propose an extension to the existing syntax as follows. Note: green bold elements are proposed extensions to those already defined in PICS Label Distribution Label Syntax and Communication Protocols and RFC 2068.
request :: get | post | put-query
This is a standard PUT as defined in HTTP 1.1 and this BNF reference is provided here for clarity. Please see the HTTP 1.1 recommendation for a detailed reference. Our proposal places the labellist in the data field of the PUT.
put-query :: 'put' url-fragment 'HTTP/1.1' crlf crlf PICSRule url-fragment :: the part of the original URL after the host name, as specified in HTTP 1.1. crlf :: carriage return (hex D) followed by line feed (hex A)
Here is a sample PUT query on a PICS 1.1 label bureau:
PUT /Labels HTTP/1.0 [CRLF] [CRLF] (PicsRule-1.1 ( serviceinfo ( "http://www.coolness.org/ratings/V1.html" shortname "Cool" bureauURL "http://labelbureau.coolness.org/Ratings" UseEmbedded "N" ) Policy (RejectIf "((Cool.Coolness <= 3) or (Cool.Graphics >= 3))") Policy (AcceptIf "otherwise") ) )Last Modified 20 January, 1998, Kyle Jamieson firstname.lastname@example.org