----- Original Message ----- From: "Remy Maucherat" <[EMAIL PROTECTED]> To: "Tomcat Developers List" <[EMAIL PROTECTED]> Sent: Thursday, July 10, 2003 11:29 PM Subject: Re: [RFC] Handling the '*' URL
> Bill Barker wrote: > > This is really a Request-For-Comments, I'm not proposing anything. I'm > > looking into resolving Bug #21454. > > > > At the moment, requests for e.g: > > OPTIONS * HTTP/1.1 > > TRACE * HTTP/1.1 > > get properly handled by TC 5 (thanks to Keith's patch), buy passing them to > > DefaultServlet. However, the '*' URL is really a HTTP Protocol URL, so it > > seems to me that it really should be handled by the Connector instead of the > > Servlet. On the other hand, we have access to the rich Servlet-API > > implementations (Ok, so I don't in 3.3-land, but I can fake it ;-). So my > > problem is that I can't see the correct route to go here. > > > > Opinions? > > I'm only talking about OPTIONS here. TRACE is protocol specific for all > URLs (but I don't care about it ;-) ). > > I think it should be handled by the servlet, because for example you can > replace the default servlet by the WebDAV servlet, and then it should > return the DAV methods. > At the moment (at least in TC 5, which is the only one that returns a 200 Response), this is handled by the Default-Servlet (which ever one is mapped to '/', which defaults to DefaultServlet) in the ROOT Context. So, the current response according to you is still wrong if I have the the 'webdav' Context installed. <rfc-quote rfc="2616" section="9.2"> If the Request-URI is an asterisk ("*"), the OPTIONS request is intended to apply to the server in general rather than to a specific resource. Since a server's communication options typically depend on the resource, the "*" request is only useful as a "ping" or "no-op" type of method; it does nothing beyond allowing the client to test the capabilities of the server. For example, this can be used to test a proxy for HTTP/1.1 compliance (or la ck thereof). </rfc-quote> I'm starting to lean to putting this into the Connector, rather than sending it to the Servlet (who can't possibly give a server-wide answer). Note: I'm only interested in the case where the Request-URI.equals("*"). All other cases will go to the Servlet. > Remy > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]