2017-02-06 3 views
1

Я делаю многостраничные загрузки S3, которые, похоже, работают, за исключением неожиданного изменения case-case в заголовках ответов. Я получаю «Etag» вместо the documented "ETag". Это похоже на небольшую деталь, но мои запросы в заголовках чувствительны к регистру - поэтому я не хочу предполагать, что нижний регистр «t» - это то, что я могу ожидать, чтобы оно не изменилось. Я мог бы сделать поиск по регистру без учета регистра, но это похоже на разглашение разницы, и я предпочитаю понимать, что я делаю, когда это возможно.S3 multipart upload, «ETag» vs «Etag»

+2

RFC7230 утверждает, что заголовки нечувствительны к регистру, поэтому не должно иметь значения: «Каждое поле заголовка состоит из имени поля без учета регистра, за которым следует двоеточием («: »), необязательным ведущим пробелом, значением поля и необязательные конечные пробелы. " –

+0

@ IgorPantović спасибо, это очень интересно. Я работаю в iOS, и это говорит о том, что встроенная сетевая инфраструктура может иметь ошибку, связанную с этим. –

+0

Также @ IgorPantović, если вы ответите, я приму это, потому что это отменяет любые опасения по поводу того, что делает Amazon. –

ответ

1

RFC7230 утверждает, что заголовки нечувствительны к регистру, поэтому это не имеет значения. От Section 3.2:

поля

Каждого заголовок состоит из имени поля без учета регистра с последующим двоеточием («:»), необязательным пробелом, значением поля, и опциональных задних пробелами.

Возможно, правильная нормализация заголовков в нижнем и верхнем регистре перед выполнением поиска.

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