2015-04-17 5 views
0

Недавно я использовал пользовательские заголовки для переопределения поведения (наших заданий тестирования a-b) нашего веб-приложения для целей тестирования через браузер. Как это работает, если код приложения обнаруживает заголовок имена с определенными соглашениями об именах, он обрабатывает их и действует соответствующим образом.Являются ли специальные символы в заголовках Http «имена» действительными?

Функция работала на localhost и на других внутренних средах, таких как qa. Но он не удался, когда он появился в прямом эфире (наше приложение является общедоступным веб-сайтом, работающим на tomcat, а язык Java 7, среда qa использует те же технологии).

Основная причина заключается в том, что в заголовке «именования» были специальные символы в виде точки (.) И восклицания (!). Я очень озадачен тем, что отлично работает на внутренних средах, но не на производстве. Любые идеи, как это происходит?

Я проверил, что производственный код работал, если в заголовках не было специальных символов.

ответ

1

Действительные символы определены в http://greenbytes.de/tech/webdav/rfc7230.html#header.fields; и то и другое "!" а также "." действительны.

+0

спасибо, я посмотрю. Но как это работает в некоторых средах, например, локальном? – phani

+0

Поскольку реализация сервера отличается своим качеством? –

+0

Допускается период в заголовках. tchar = "!"/"#"/"$"/"%"/"&"/"'"/"*"/"+"/"-"/"."/ "^"/"_"/"' "/" | "/"~"/DIGIT/ALPHA – jamshid

Смежные вопросы