Показать сообщение отдельно
  #3 (permalink)  
Старый 05.01.2012, 06:11
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Ну, вроде понял.

Не сталкивался с реализацией подобной идеи
Но, мне кажется, что
а) это экономия на спичках. Доля процессорного времени, приходящегося на генерацию заголовков существенно меньше, чем на выполнение серверных скриптов, или еще чего-нибудь.
Даже при отдаче мелкой статики, гораздо легче упереться в канал, чем в процессор(если использовать Nginx, конечно)
б) данное решение абсолютно негибкое, и труднонастраиваемое(если представить себе как мог бы выглядеть конфиг этой фичи)
В вашем примере клиенты с различными If-Modified-Since, или без оного получат одни и теже заголовки, хотя им даже код ответа должен прийти различный, в зависимости от актуальности клиентского кеша.
Учитывая, что практически все заголовки клиента несут ту или иную смысловую нагрузку, то во-первых получаем огромный кеш, в котором представлены ответы на любые комбинации клиентских заголовков, а во-вторых сложную логику, определяющую значимость заголовков(какие влияют на кеш, а какие нет), и правила обработки.
Получаемый монстр будет трудноподдерживаем программистом, и скорее всего медленнее работать, чем нормальный вариант(хотя бы из-за огромного кеша, по которому еще надо искать)


В итоге, получаем сложную фичу, которая может даже замедлить проект, и заставить пожирать память как стадо слонов.
Но, даже, если данная фича будет экономить ресурсы, то это будут доли процентов.
Усложнение же логики конфигов из-за такиой экономии - непропорционально для того, чтобы эту задачу кто-то реализовывал бы, ИМХО.

В общем, навряд ли это где-то есть, но если есть, то на это стоит взглянуть =)
Ответить с цитированием