Здравствуйте.
Я являюсь пользователем Оперы уже около 5 лет, но при разрабoтке страниц я пользуюсь Firefox'ом т.к. он предлагает мне более удобные средства для отлова ошибок, валидации и т.п., к тому же это полезно, если каждодневный брaузер и рабочий инструмент различаются.
Но дело в том, что в Файрфоксе при всех его преимуществах, настройки по умолчанию заставляют оперопользователя все время чувствовать себя как в гостях. Я не говорю здесь о интерфейсе, а именно о поведении браузера. Я попытался изменить это и вот шаги которые я предпринял:
UPD: пока писал, то топик так увеличился, что его можно скорее назвать пособием для тюнинга Firefox — загляните внутрь даже если вы не оперщик. Если же вы матерый пользователь FF, то добро пожаловать с вашими уточнениями и комментариями :)
Что более всего мне мешало, так это то, как Опера и Firefox ведут себя при навигации Вперед/Назад — Опера мгновенно показывает все, как бы вы глубоко не перемещались по истории таба. Firefox же, как будто одержимый IE, зачем-то загружает большинство страниц опять из интернета, соответственно о мгновенности речь идти не может. К тому же, если вы заполняли форму в Опере, и вернулись к ней с помощью команды Назад, все заполненые вами поля (кроме password) останутся заполненными, но т.к. Firefox перезагружает страницу данные будут утеряны.
Я хотел чтобы при возврате назад браузер не перезагружал страницу, а показывал мне именно ту, которую я видел перед этим. Если честно, то Опера своим поведением нарушает RFC (раздел 14.9.2 RFC 2616). Например если вы были 'залогинены'на странице а потом вышли, вы сможете нажать Назад и увидеть ее содержимое. Это можно рассматривать как нарушение безопасности, представьте себе компьютер в интернет-кафе в котором вы смотрели почту и ушли, а другой пользователь начнет нажимать назад.
Но мы ведь опытные пользователи и знаем что делаем, поэтому поехали:
browser.sessionhistory.max_total_viewers
Здесь задаются настройки Fastback — это количество страниц, которые сохраняются в памяти для быстрого перехода коммандами Вперед/Назад.
По умолчанию здесь -1, соотв. браузер сам решает сколько страниц сохранять в зависимости от оперативной памяти:
У меня 4 GB оперативки — я выставил этот параметр в 15 — мне памяти не жалко.
Обратите внимание, этот параметр задает количество страниц не для таба, а вообще для броузера.
browser.cache.check_doc_frequency
По умолчанию стоит 3, т.е. обновлять кэш, опираясь на Last-Modified и Control-Cache заголовки. Предлагаю изменить значение на 0, тогда Firefox будет обновлять кэш страницы при каждом новом запуске браузера.
Опера вообще игнорирует настройки кэша при навигации Вперед/Назад, чтобы обновить страницу, необходимо исполнить Refresh или Reload. Firefox ведет себя более последовательно, а именно:
Информация отсюда:
Это все было бы отлично, но многие сайты злоупотребляют Cache-Control: no-store, в результате тратится время пользователя и траффик. К сожалению вышеназванная опция (browser.cache.check_doc_frequency) не отключает такое поведение браузера, соответственно если вам нужно полное соответствие поведению Оперы необходимо пользоваться софтом который изменяет заголовки, например Proxomitron'ом
browser.cache.memory.capacity
Текущее использование можно посмотреть здесь: about:cache?device=memory
У меня он был установлен по-умолчанию в 30МБ, я увеличил до 96, но изменений не заметил.
browser.sessionstore.max_tabs_undo
В Опере, я привык закрывать табы без лишней мысли, ведь у меня есть длиннющий список закрытых страниц.
Непонятно почему, но в Firefox он по-умолчанию ограничен 5, поменял на 30.
network.http.pipelining
Вкратце: эта опция разрешает в одном и том же соединении с сервером посылать одновременно несколько запросов паралельно, а не последовательно(ожидая ответа на предыдущие). Подробнее: www.mozilla.org/projects/netlib/http/pipelining-faq.html
У Оперы pipelining включен по умолчанию, поэтому включаем его и мы. Для того чтобы параллельные запросы могли работать необходимы Keep-Alive (network.http.keep-alive=true) и HTTP 1.1 (network.http.version=1.1).
network.http.pipelining.maxrequests
Некоторые руководства рекомендуют ставить количество максимальных запросов в 30. Я бы этого вам не советовал, спецификация HTTP/1.1 не ограничивает число запросов, но рекоммендует 2 вообще для Keep-Alive. Я оставил значение по-умолчанию — 4.
UPD: Как уточнил Alaunquirie, в Firefox, вообще стоит внутреннее ограничение этого параметра до 8.
network.http.max-connections-per-server
Если вы здесь выставите слишком большое число, то некоторые серверы могут определяют такое количество запросов от вашего IP как DDOS атаку и ваши запросы в лучшем случае будут обработаны по очереди, а в худшем ваш IP получит бан и вам придется ждать пока вам опять не разрешат доступ.
Я поставил его в 8(я встречал именно это значение на сайтах по настройке Оперы), хотя в FF 3 по умолчанию 15.
Network.http.max-persistent-connections-per-server
Как я писал выше, RFC2616 рекоммендует максимум 2 Keep-alive запроса. В Firefox 3 по-умолчанию стоит 6, пусть так и остается.
network.http.max-connections
Ограничивает число максимальных одновременных соединений Огненного Лиса. Его можно спокойно поднять, если у вас быстрый интернет и вы любите наоткрывать вкладок на заднем фоне, которые грузятся пока вы продолжаете смотреть основную страницу. У меня он установлен с 16МБ/с интернетом в 64.
nglayout.initialpaint.delay
Если в Опере вы включали такой параметр как Browsing->Redraw Instantly то вам имеет смысл это сделать и в Файрфоксе. Этот параметр определяет, через какое время после того как получена первая информация, начинать рендеринг. Имеет смысл на быстрых каналах. Недостаток — страница может перерисовываться чаще.
Значение по-умолчанию 250мс, я установил в 0 и доволен.
Я привык к быстрому поиску в Опере по нажатию '.' или '/' и ',' для поиска в URL.
В Firefox подобное существует по F3 или Ctrl-F, но меня раздражало то что панелька не пропадала после поиска, плюс когда я опять вызывал поиск в нем находилось старое значение и мне приходилось его стирать.
Погуглив, я нашел что был слишком ленив — при нажатии '/' поиск на странице ведет себя точно так же как и в опере ( а апостроф — ' ищет в ссылках).
Я попытался было установать привычные мне запятую и точку, но с удивлением понял что в Firefox нельзя менять настройки клавиатурных сокращений!
Но так как это FF, то я нашел аддон keyconfig, который добавляет возможность редактирования сокращений. К сожалению в нем нет комманд для QuickFind, и их надо создавать самому — жмем в keyconfig на «Add a new key» и добавляем:
И назначаем привычные нам клавиши.
Я пока не придумал, что бы мне изменить еще, но с удовольствием пользуюсь настроенным таким образом Firefox'ом.
upd
В Опере я очень часто пользуюсь коммандой контекстного меню для выделенного текста «Go to Web Address», которая вставляет этот текст в адресную строку и переходит по URL/ищет в поисковике. Благодаря комментирующим я нашел замечательный аддон для FF URL Link, который не только добавляет такую функциональность, но и предоставляет дополнительные возможности и опции для тонкой настройки.
Я являюсь пользователем Оперы уже около 5 лет, но при разрабoтке страниц я пользуюсь Firefox'ом т.к. он предлагает мне более удобные средства для отлова ошибок, валидации и т.п., к тому же это полезно, если каждодневный брaузер и рабочий инструмент различаются.
Но дело в том, что в Файрфоксе при всех его преимуществах, настройки по умолчанию заставляют оперопользователя все время чувствовать себя как в гостях. Я не говорю здесь о интерфейсе, а именно о поведении браузера. Я попытался изменить это и вот шаги которые я предпринял:
UPD: пока писал, то топик так увеличился, что его можно скорее назвать пособием для тюнинга Firefox — загляните внутрь даже если вы не оперщик. Если же вы матерый пользователь FF, то добро пожаловать с вашими уточнениями и комментариями :)
Введение: все что я делал я тестировал на Firefox 3.0.5 с Интернетом 16 МБ/с, CPU Core Duo 6300 и 4 ГБ оперативки. Может быть что на вашей конфигурации вы достигнете совсем других результатов. Почти все изменения проводятся в about:config, если вы не уверены что опция вам нужна, лучше не меняйте ее.
Быстрая Навигация
Что более всего мне мешало, так это то, как Опера и Firefox ведут себя при навигации Вперед/Назад — Опера мгновенно показывает все, как бы вы глубоко не перемещались по истории таба. Firefox же, как будто одержимый IE, зачем-то загружает большинство страниц опять из интернета, соответственно о мгновенности речь идти не может. К тому же, если вы заполняли форму в Опере, и вернулись к ней с помощью команды Назад, все заполненые вами поля (кроме password) останутся заполненными, но т.к. Firefox перезагружает страницу данные будут утеряны.
Я хотел чтобы при возврате назад браузер не перезагружал страницу, а показывал мне именно ту, которую я видел перед этим. Если честно, то Опера своим поведением нарушает RFC (раздел 14.9.2 RFC 2616). Например если вы были 'залогинены'на странице а потом вышли, вы сможете нажать Назад и увидеть ее содержимое. Это можно рассматривать как нарушение безопасности, представьте себе компьютер в интернет-кафе в котором вы смотрели почту и ушли, а другой пользователь начнет нажимать назад.
Но мы ведь опытные пользователи и знаем что делаем, поэтому поехали:
Включаем Fastback:
browser.sessionhistory.max_total_viewers
Здесь задаются настройки Fastback — это количество страниц, которые сохраняются в памяти для быстрого перехода коммандами Вперед/Назад.
По умолчанию здесь -1, соотв. браузер сам решает сколько страниц сохранять в зависимости от оперативной памяти:
RAM Страниц 32MB 0 64MB 1 128MB 2 256MB 3 512MB 5 1GB 8 2GB 8 4GB 8
У меня 4 GB оперативки — я выставил этот параметр в 15 — мне памяти не жалко.
Обратите внимание, этот параметр задает количество страниц не для таба, а вообще для броузера.
Настраиваем кэш
browser.cache.check_doc_frequency
По умолчанию стоит 3, т.е. обновлять кэш, опираясь на Last-Modified и Control-Cache заголовки. Предлагаю изменить значение на 0, тогда Firefox будет обновлять кэш страницы при каждом новом запуске браузера.
Опера вообще игнорирует настройки кэша при навигации Вперед/Назад, чтобы обновить страницу, необходимо исполнить Refresh или Reload. Firefox ведет себя более последовательно, а именно:
- Cache-Control: no-cache Firefox не будет хранить страницу на диске, но она будет сохранена в memory cache и. например, при команде Назад, будет показана страница из кэша.
- Cache-Control: no-store страница не будет сохранена ни в памяти ни на диске, и при любой попытке показать ее будет исполнен полный POST/GET запрос
Информация отсюда:
restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=981443
blog.httpwatch.com/2008/10/15/two-important-differences-between-firefox-and-ie-caching
Это все было бы отлично, но многие сайты злоупотребляют Cache-Control: no-store, в результате тратится время пользователя и траффик. К сожалению вышеназванная опция (browser.cache.check_doc_frequency) не отключает такое поведение браузера, соответственно если вам нужно полное соответствие поведению Оперы необходимо пользоваться софтом который изменяет заголовки, например Proxomitron'ом
Увеличиваем обьем памяти для кэша:
browser.cache.memory.capacity
Текущее использование можно посмотреть здесь: about:cache?device=memory
У меня он был установлен по-умолчанию в 30МБ, я увеличил до 96, но изменений не заметил.
Список закрытых табов:
browser.sessionstore.max_tabs_undo
В Опере, я привык закрывать табы без лишней мысли, ведь у меня есть длиннющий список закрытых страниц.
Непонятно почему, но в Firefox он по-умолчанию ограничен 5, поменял на 30.
Паралельные запросы HTTP 1.1
network.http.pipelining
Вкратце: эта опция разрешает в одном и том же соединении с сервером посылать одновременно несколько запросов паралельно, а не последовательно(ожидая ответа на предыдущие). Подробнее: www.mozilla.org/projects/netlib/http/pipelining-faq.html
У Оперы pipelining включен по умолчанию, поэтому включаем его и мы. Для того чтобы параллельные запросы могли работать необходимы Keep-Alive (network.http.keep-alive=true) и HTTP 1.1 (network.http.version=1.1).
Максимальное количество паралельных запросов
network.http.pipelining.maxrequests
Некоторые руководства рекомендуют ставить количество максимальных запросов в 30. Я бы этого вам не советовал, спецификация HTTP/1.1 не ограничивает число запросов, но рекоммендует 2 вообще для Keep-Alive. Я оставил значение по-умолчанию — 4.
UPD: Как уточнил Alaunquirie, в Firefox, вообще стоит внутреннее ограничение этого параметра до 8.
Максимальное количество соединений с сервером
network.http.max-connections-per-server
Если вы здесь выставите слишком большое число, то некоторые серверы могут определяют такое количество запросов от вашего IP как DDOS атаку и ваши запросы в лучшем случае будут обработаны по очереди, а в худшем ваш IP получит бан и вам придется ждать пока вам опять не разрешат доступ.
Я поставил его в 8(я встречал именно это значение на сайтах по настройке Оперы), хотя в FF 3 по умолчанию 15.
Максимальное количество постоянных(открытых) соединений с сервером
Network.http.max-persistent-connections-per-server
Как я писал выше, RFC2616 рекоммендует максимум 2 Keep-alive запроса. В Firefox 3 по-умолчанию стоит 6, пусть так и остается.
Максимальное число соединений:
network.http.max-connections
Ограничивает число максимальных одновременных соединений Огненного Лиса. Его можно спокойно поднять, если у вас быстрый интернет и вы любите наоткрывать вкладок на заднем фоне, которые грузятся пока вы продолжаете смотреть основную страницу. У меня он установлен с 16МБ/с интернетом в 64.
Задержка стартового рендеринга страницы
nglayout.initialpaint.delay
Если в Опере вы включали такой параметр как Browsing->Redraw Instantly то вам имеет смысл это сделать и в Файрфоксе. Этот параметр определяет, через какое время после того как получена первая информация, начинать рендеринг. Имеет смысл на быстрых каналах. Недостаток — страница может перерисовываться чаще.
Значение по-умолчанию 250мс, я установил в 0 и доволен.
Осталась совсем малость:
Я привык к быстрому поиску в Опере по нажатию '.' или '/' и ',' для поиска в URL.
В Firefox подобное существует по F3 или Ctrl-F, но меня раздражало то что панелька не пропадала после поиска, плюс когда я опять вызывал поиск в нем находилось старое значение и мне приходилось его стирать.
Погуглив, я нашел что был слишком ленив — при нажатии '/' поиск на странице ведет себя точно так же как и в опере ( а апостроф — ' ищет в ссылках).
Я попытался было установать привычные мне запятую и точку, но с удивлением понял что в Firefox нельзя менять настройки клавиатурных сокращений!
Но так как это FF, то я нашел аддон keyconfig, который добавляет возможность редактирования сокращений. К сожалению в нем нет комманд для QuickFind, и их надо создавать самому — жмем в keyconfig на «Add a new key» и добавляем:
- Для обычного QuickFind:
gFindBar.startFind(gFindBar.FIND_TYPEAHEAD);
gFindBar._setFindCloseTimeout();
- Для QuickFind по ссылкам:
gFindBar.startFind(gFindBar.FIND_LINKS);
gFindBar._setFindCloseTimeout();
И назначаем привычные нам клавиши.
Я пока не придумал, что бы мне изменить еще, но с удовольствием пользуюсь настроенным таким образом Firefox'ом.
upd
В Опере я очень часто пользуюсь коммандой контекстного меню для выделенного текста «Go to Web Address», которая вставляет этот текст в адресную строку и переходит по URL/ищет в поисковике. Благодаря комментирующим я нашел замечательный аддон для FF URL Link, который не только добавляет такую функциональность, но и предоставляет дополнительные возможности и опции для тонкой настройки.