Changes between Initial Version and Version 1 of Ticket #107, comment 17


Ignore:
Timestamp:
06.10.2011 01:44:36 (10 years ago)
Author:
jri
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #107, comment 17

    initial v1  
    66What we've learned: 
    77 
    8 1) Apache decodes URLs before passing the request to the backend application! 
     81. Apache decodes URLs before passing the request to the backend application! \\ 
    99   As a consequence Jersey's default pattern for matching the request's path 
    10    segments ([^/]+?) does *not* match if the URL contains encoded slashes 
     10   segments (`[^/]+?`) does *not* match if the URL contains encoded slashes 
    1111   (e.g. when a path is encoded *within* a path segment). This caused Jersey 
    12    to respond with 404. 
    13    The solution was to use a custom pattern (.+) for Jersey. 
     12   to respond with 404.\\ 
     13   The solution was to use a custom pattern (`.+`) for Jersey. 
    1414 
    15 2) By default Apache doesn't allow encoded slashes in URLs at all! Such URLs 
    16    are refused with a 404. 
     152. By default Apache doesn't allow encoded slashes in URLs at all! Such URLs 
     16   are refused with a 404.\\ 
    1717   The solution was to modify this behavoir by the means of Apache's 
    18    AllowEncodedSlashes directive. 
     18   !AllowEncodedSlashes directive. 
    1919 
    2020Thanks to JuergenN and Silke for helping to track things down!