Из-за отсутствия передачи с партнером филиала мы работаем с URL, они обращаются к нашему серверу, был перепутан.
Это - URL, они, как предполагается, обращаются к нашему серверу:
/AAAAAAAA/?b=CCCCCCC
к сожалению, это было реализовано в их системе как это
?b=CCCCCCC/AAAAAAA
Я могу легко проанализировать компоненты, но я волнуюсь, что параметром строки запроса с / в нем не является на самом деле допустимый URL.
/ в на самом деле допустимом URL - или если я быть затронутым. При каких обстоятельствах может незакодированный / проблемы причины в строке запроса.
Действительно ли соглашение о вызове fastcall быстрее, чем другие соглашения о вызове, такие как cdecl?
Я считаю, что реализация Microsofts fastcall
на x86 и x64 включает передачу первых двух параметров в регистрах, а не в стеке.
Поскольку обычно сохраняется не менее четырех доступов к памяти, то, как правило, это происходит быстрее. Тем не менее, если задействованная функция голодает и, таким образом, может записать их местным жителям в стеке, вероятно, не будет значительного увеличения.
-121--1176563- Зависит от платформы. Например, для Xenon PowerPC разница может быть на порядок из-за проблемы с загрузкой-попаданием в хранилище при передаче данных в стеке. Я эмпирически синхронизировал служебные данные функции cdecl
примерно с 45 циклами по сравнению с ~ 4 для fastcall
.
Для неупорядоченных x86 (Intel и AMD) влияние может быть гораздо меньше, потому что все регистры затенены и переименованы в любом случае.
Ответ на самом деле заключается в том, что вы должны проверить его на конкретной платформе, которую вы заботитесь.
-121--1176562-Хотя у меня никогда не было проблем, технически они не разрешены согласно RFC 2396 :
В компоненте запроса зарезервированы символы «;», «/», «?», «:», «@», «&», «=», «+», «» и «$».
Но, как я сказал... я никогда не сталкивался ни с какими проблемами. Я думаю, что это проблема со старыми браузерами больше, чем что-либо, но, возможно, кто-то может пролить еще свет на проблему, которую это вызывает?
Слэш - это "зарезервированный символ" в части запроса URL согласно разделу 3.4 RFC 2396, поэтому согласно разделу 2.2 он должен быть закодирован. То есть часть запроса может содержать %2F
, но не должна содержать /
.