Я работаю с классическим веб-сайтом asp на веб-сервере IIS.
Когда я смотрю на request.serverVariables
collection (который содержит 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-3B26175C158B.html