parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Про request-uri

Maxx 24.11.2016 18:20 / 24.11.2016 18:25

Появились тут недавно редкие но странные ошибки, посмотрел оказалось что в request:uri приходит "http://site.ru/path1/path2/" вместо привычного "/path1/path2/".

Кто виноват?
Полез почитать, оказалось что это корректная ситуация и по RFC запрос c absoluteURI
GET http://site.ru/path1/path2/
вместо
GET /path1/path2/
Host site.ru
это нормально. В основном это используется для proxy, но в RFC написано так:
  To allow for transition to absoluteURIs in all requests in future
   versions of HTTP, all HTTP/1.1 servers MUST accept the absoluteURI
   form in requests, even though HTTP/1.1 clients will only generate
   them in requests to proxies.
То есть к апачу вроде как претензий нет. Да и вроде ни к кому нет.

Что делать?

Есть реально большая куча кода, которая не рассчитана на такое вот ))
Если бы $request:uri был бы не только для чтения, можно было бы записать в него в одном месте в корневом auto.p правильное значение, отрезав хост, но увы оно read-only. Может сделать доступным для записи? Как $request:charset, например. Или может parser должен сам эту ситуацию разруливать и в request:uri выдавать уже правильное значение?