Задача: на сайте используется набор javascript-библиотек, которые сливаются php-скриптом в один файл с названием вида 78472581267468236825748923.js (где цифры - имплод номеров версий каждой отдельной библиотеки), а контент оптимизирован и (может быть) как-то упакован. Планируется, что сий файл будет сидеть в кеше (а по размеру он довольно большой) и когда версия хоть одной из библиотек изменится - изменится имя файла и он будет заново запрошен с сервера. Все счастливы, траффик сэкономлен, дети смеются, Санта Клаус раздаёт подарки, мир во всём мире.
Как же дело обстоит на самом деле? В один прекрасный момент вы замечаете, что траффик у вас совсем не убавился и посмотрев статистику обнаруживаете, что ваш файлик с красивым именем 78472581267468236825748923.js таскается с сервера при каждом запросе и ну никак не хочет залезать в кеш браузера.
Начинаем копать глубже и при сравнении хедеров нашего файла и обычного статичного js обнаруживаем, что у последнего в хедере присутствует параметр "Last-Modified: Wed, 10 Sep 2008 07:01:14 GMT", определяющий дату обновления файла. В нашем же файле параметр сий отсутствует и сервер каждый раз шлёт ответ клиенту "200 ОК" с полным контентом.
Гуглим. Пишем принудительную отправку этого параметра в хедере. Не шлётся и всё - хоть убейся.
На различных форумах в сети есть много логичных объяснений. Например, "хренли слать дату обновления скрипта, если контент динамический?" (действительно, возразить сложно).
Грешил сначала на апач (думал, он отправляемые мной хедеры парсит и пропускает только то, что ему угодно).
Попробовал активировать для моего файла xBitHack. Появились первые подвижки - в хедере возник "Last-Modified", однако, ссылался он на текущую дату/время и изменениям не поддавался.
Потом думал, что пхп не хочет мои хедеры отдавать. 10 раз проверил все возможные варианты синтаксиса, генерацию даты, генерацию хеш-ключа ETag - ноль реакции.
В конечном итоге была найдена информация, что апач будет отдавать Last-Modified только если у файла есть разрешение на execute для группы. Для chmod пришлось тоже писать скриптик, т.к. ходим к хостеру самбой.
И, о чудо, вдруг всё заработало! )))
Механизм определения обновления через хеш ETag описывать не буду - он будет в первой 10 выдачи в гугле по запросу "etag".
Продавцы-консультанты очень любят слово ИДЕТ. Оно почти в каждом предложении. Приходишь в салон, ищешь мобилку.
- У этого телефона флешка прилагается?
- Флешка ИДЕТ по 800 рублей.
- То есть бесплатно флешки нет (в другом салоне - есть => просто тут пизданули ее... А чо: 800 рублей*кол-во телефонов в партии...)?
- Нет телефон ИДЕТ без флешки. Разная комплектация ИДЕТ в разные салоны (мозги у тебя в разной комплектации).
- А тут написано что радио есть. Что есть оно, вроде в этой модели не было?
- Нет, телефон без радио ИДЕТ.
- А почему же написано что с радио (глупый вопрос, в общем-то:)?
- Ценник ИДЕТ с информацией про радио... А телефон ИДЕТ без радио.
- Ясно (салон связи евросеть ИДЕТ нахуй).
Сайт одноклассники. Основная тема фоток с подписями - я в египте. Вот тебе и я в ебибте, и вот я вся такая около сфинктера в черных очках бля и розовом купальнике. Восторг! Я зогарела как в соляриэ!
И вот я бля как шампиньён - расшифровываю эроглифы. А вот! А вот!!! А вот я и верблюд бля!!! А хде кто из вас? Уёбище та а не шампиньён. Верблюд увидит - в суд подаст, скажет это все фотошоп.
Египтологи хреновы...)
Тихо сижу я один.
Книжица "Хайку Басё"
Самая тема в сортир.
Посетили магазин офисной мебели Аргус, чем остались довольны - недорогой и практичный стульчик для работы с компом появился дома. Цены сравнительно низкие, разнообразие большое.
Магазин находится на территории целого комплекса, я так понял, аналогичных по преимуществам лавок со всяческими стройматериалами, расходным материалом, мебели и т.д.
Территория - частично освоенные советские руины. Ленина убирать не стали, но свое отношение к нему выразили:
Приятная сука урна позволяет сочетать приятное (курение) с полезным (покормить зверушку-калеку горящим бычком):
Я хуею от "разгромных" обзоров Chrome за сегодня, куча веб-разработчиков и людей, живущих в интернете рассказали какое же на самом деле говно этот хром читателям своих блогов, которые стадно начинали кивать и присоединяться к их мнению.
Вот у него, сука, нет плагинов, а я без плагинов жить не могу! Долбоебы, это первая публичная бета, какие нахуй плагины? Глючит блядь! - фанаты фф3 моментально забыли о том, как страшно крашил их кумир в первых бетах.
Расстраивают они меня :(
Смотрю сейчас кино, перевод не дубляж, двухголосый, два голоса - (М) и (Ж), и происходит вот такая ситуация:
(М): ..и что теперь будешь делать? Прыгнешь с мОста?
(Ж) тихо так: С мостА
(М) так же тихо: С мостА? Правда?
И я выпал))) А ведь был довольно серьезный момент в фильме)))
- так ты же говорила: надо много фруктов!
- интересно, во что это выльется?!