2012-08-30 2 views
1

Мы работаем над одним расширением хром, в котором у нас есть функция импорта FB. Теперь, когда загружается расширение, отображаются все изображения друзей FB, поэтому для загрузки этих изображений из FB требуется время. Мы хотим минимизировать время загрузки изображений. Есть ли способ достичь этого? Можем ли мы кэшировать изображения в хром-кеш & читать их из кэша во второй раз?Можем ли мы кэшировать изображения друзей Facebook в Chrome?

Я также не думаю, что это решение для того же самого. Но хотелось проверить, есть ли способ достичь этого?

Спасибо.

+1

Пусть хром сам решает, что и как кешировать, это лучшая стратегия. – zerkms

+0

Я тоже так думаю .. но это занимает много времени для кэширования. –

ответ

2

Я думаю, вы загружаете изображения, указав http(s)://graph.facebook.com/userid/picture?

Ну, Facebook предоставляет эти URL-адрес с кэшированием заголовков следующим образом,

Cache-Control: private, no-cache, no-store, must-revalidate 
Expires:  Sat, 01 Jan 2000 00:00:00 GMT  
Pragma:  no-cache 

Они предназначены для API перенаправления URL Graph - Facebook является запрещая кэширование здесь, так что браузер должен искать эти ресурсы каждый раз, еще раз. Окончательный URL изображения на их CDN, к которому эти URL-адрес перенаправление с Location заголовком - тех имеют следующие заголовки относительно кэширования,

Last-Modified: Fri, 01 Jan 2010 00:00:00 GMT  
Cache-Control: max-age=1209600 
Expires:  Thu, 13 Sep 2012 08:07:52 GMT 

Так вы могли попробовать и требуете URL-адреса CDN в приложении авансового , а затем использовать их в качестве URL-адресов изображений в HTML-страницах вашего приложения - тогда браузер не должен будет каждый раз запрашивать, будет ли кешированная версия URL-адреса изображения по-прежнему действительна, но может сразу же от него воспользоваться кешем ,

CDN URL-не следует использовать в течение длительного времени охватывает - они могут изменения; но на более короткий промежуток времени, вероятно, безопасно использовать их, потому что они не изменятся волей-неволей без веской причины. F.e., пользователь, изменяющий свой профиль pic, может быть такой причиной, но кеширование их на срок до одного часа может стать компромиссом, который улучшает работу пользователя при использовании вашего приложения.

Но недостаток этого является то, что ваше приложение будет сделать запрос API для изображения каждого друга на начальном этапе, чтобы получить КДС профиля ПИК URL - и это отнимает много времени, а также, если вы это делаете для большого количества друзей. (Хотя пакетные запросы или многопроцессорный запрос FQL могут сократить это до один HTTP-запрос вместо нескольких.)

+0

Это будет случай для webapps, мы можем использовать CDN, но мы работаем над расширением chrome, так как мы можем использовать CDN для расширений? –

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