[richfaces-issues] [JBoss JIRA] (RF-11888) Resource Servlet can't handle query string appended to resource url

Lukáš Fryč (JIRA) jira-events at lists.jboss.org
Wed Feb 1 03:47:48 EST 2012


    [ https://issues.jboss.org/browse/RF-11888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12663263#comment-12663263 ] 

Lukáš Fryč commented on RF-11888:
---------------------------------

Hi Brendan, I can see two actual issues in your previous comment:

1. you cannot use {{ResourceServlet}} for serving customized resources
2. when using {{<h:outputScript name="jquery.js" />}} and packaged resources, you can simply break page

For (2), I would suggest to remove {{jquery.js}} from default packaging - we will get one more request, but we will achieve ability to rewrite {{jquery.js}} (leading into improved interoperability) and we will avoid issues which you mentioned.

Currently resource dependency graph starts with {{javax.faces:jsf.js -> null:jquery.js -> ...}} so I don't see problem in excluding {{jquery.js}} from packaging.

For (1), we can go also in opposite way: define unsafe query parameters for {{ResourceServlet}} - it comes only {{ln}} to my mind.
                
> Resource Servlet can't handle query string appended to resource url
> -------------------------------------------------------------------
>
>                 Key: RF-11888
>                 URL: https://issues.jboss.org/browse/RF-11888
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: resource handling
>    Affects Versions: 4.1.0.Final
>         Environment: Glassfish 3.1.1 (NO Tomcat)/Mojarra 2.1.3 Chrome browser - 
>            Reporter: Brendan Healey
>            Priority: Critical
>              Labels: waiting_on_user
>
> A custom resource handler (http://blogs.oracle.com/rlubke/entry/jsf_2_0_new_feature)
> can be used to append a version string (i.e. ?v=23) to a resource url to force a
> browser to refresh a resource rather than use any cached version.
> At present any appending of a version string causes a 404 response status, for example:
> Request URL:
> https://localhost:8181/MyApp/org.richfaces.resources/javax.faces.resource/org.richfaces.staticResource/4.1.0.Final/PackedCompressed/blueSky/packed/packed.css?v=23
> Removing the url parameter makes it work ok. As you can see I have resourceMapping
> enabled.
> This is essential to cause a browser to issue a request to the server if a static
> resource is held in a browser cache and is not expired, but you've upgraded the
> richfaces version. You have to have a way to invalidate the cache, and I'm not
> seeing how this can be done in a sensible way. You can set the Cache-Control
> no-cache header, but I'd need to do this in a way that says "I've just upgraded
> richfaces, so don't use the cache, issue a request to the server for the resource,
> but cache the result and use this until the next time".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the richfaces-issues mailing list