Я работаю с классическим веб-сайтом asp на веб-сервере IIS.
Когда я смотрю на коллекцию request.serverVariables
(которая содержит HTTP-заголовки запросов, серверные переменные и т. Д.), Я вижу следующие два, которые в моей конкретной настройке дают 100% идентичные значения.
CONTENT_LENGTH
HTTP_CONTENT_LENGTH
В документации Mozilla он перечисляет [Content-Length] [1]
как:
Заголовок объекта Content-Length указывает размер тела объекта в байтах, отправленного получателю.
Я думаю это относится к тому, что я вижу как HTTP_CONTENT_LENGTH
Затем в документации IIS для серверных переменных он перечисляет CONTENT_LENGTH
как
Длина тела запроса.
Это просто IIS, где CONTENT_LENGTH
- это просто внутренняя копия сервера HTTP_CONTENT_LENGTH
, отправленная обратно? (или у меня есть это наоборот)?
Есть ли разница между ними, например, в некоторых других случаях, когда значения каждого из них могут отличаться, если возникает определенный сценарий?
HTTP_CONTENT_LENGTH относится к IIS и фактически возвращает необработанное значение заголовка CONTENT_LENGTH. (CONTENT_LENGTH доступен во всех серверных средах).
Для справки, на странице Справочника по серверным переменным документации Visual COBOL перечислены эти и многие другие переменные, относящиеся к IIS. http://documentation.microfocus.com/help/index.jsp?topic=%2FGUID-80E5C7E2-6B33-40F2-AA69-CA301927FA8F%2FGUID-AB547FFE-B2EF-44A2-95BE-3B26175Cml