Hackersdelight

  1. About
  2. Ask Me
  3. Subscribe
  4. Archive
  5. Random

Hackersdelight

Here I'm going to post my notes about my professional life, salvations of some coding problems and other useful for me information. These notes are for me only, so if there is smth you don’t like I really don’t care.

Newer
Older
  • кэширование на клиенте: asp.net и Http

    Возвращаясь к вопросу кэширования… Мы уже решили проблему “не возвращения одного и того же результата”, проставив headerы ETag, LastModified и сравнив их с headerами requesta If-none-Match и If-Modified-Since. Это, безусловно, немного увеличило нашу производительность, уменьшив объем информации, отправляемой пользователю. Но время на запросы все равно тратится. 

    В контексте того, что я делала ранее постановка задачи следующая: сделать так, чтобы запросы на сервер вообще не шли. Как ни парадоксально, именно эта задача оказалась довольно проблематичной. 

    Во-первых, на данный момент всякий запрос возвращал в ответ следующий набор заголовков:

    HTTP/1.1 304 Not Modified

    Cache-Control: public

    Expires: Fri, 23 Sep 2011 06:02:48 GMT

    Server: Microsoft-IIS/7.5

    X-AspNet-Version: 2.0.50727

    X-Powered-By: ASP.NET

    Date: Fri, 23 Sep 2011 06:02:48 GMT

    Совпадение (или Expires < Date) заголовков Date и Expires, часто оценивается как аналог записи в директиве Cache-Control: no-cache.  Что, конечно, совершенно нас не устраивает. Но как я ни билась, не удалось мне убрать чертов заголовок Expires из Responsа. Не могу сказать точно, в чем же дело, но не удалось даже переставить заголовок Expires. Еще, конечно, повожусь, но пока никак от него не избавиться. На форумах мне никто помочь не смог, поэтому пришлось импровизировать. 

    Есть другой параметр заголовке Cache-Control: max-age=<время в секундах>, который указывает количество секунд, сколько валиден запрос. Этот параметр, предполагает public политику кэширования, если не указано другой. Прелесть этого заголовка в том, что он переписывает, уже ставший ненавистный мне заголовок Expires. 

    Источники:

    1. кэширование в IE
    2. http header field definition

    Tagged: HTTP asp.net

    Posted on September 23, 2011 with 169 notes

    1. panaryna posted this
  • gaidar
  • html5insight

Field Notes Theme. Redesigned by Aliaksandra Panaryna. Powered by Tumblr.