- As the browser receives the now filtered page content, it will read and request any
- embedded URLs on the page, e.g. ad images. As the browser requests these
- secondary URLs from whatever server they may be on,
- <application>Privoxy</application> handles these same as above, and the process
- is repeated all over again for each such URL. Note that a fancy web page may
- have many, many such embedded URLs for graphics, frames, etc.
+ If the <ulink url="configuration.html#KILL-POPUPS"><quote>+kill-popups</quote></ulink>
+ action applies, and it is an HTML or JavaScript document, the popup-code in the
+ response is filtered on-the-fly as it is received.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ If a <ulink url="configuration.html#FILTER"><quote>+filter</quote></ulink>
+ or <ulink
+ url="configuration.html#DEANIMATE-GIFS"><quote>+deanimate-gifs</quote></ulink>
+ action applies (and the document type fits the action), the rest of the page is
+ read into memory (up to a configurable limit). Then the filter rules (from
+ <filename>default.filter</filename>) are processed against the buffered
+ content. Filters are applied in the order they are specified in the
+ <filename>default.filter</filename> file. Animated GIFs, if present, are
+ reduced to either the first or last frame, depending on the action
+ setting.The entire page, which is now filtered, is then sent by
+ <application>Privoxy</application> back to your browser.
+ </para>
+ <para>
+ If neither <ulink url="configuration.html#FILTER"><quote>+filter</quote></ulink>
+ or <ulink
+ url="configuration.html#DEANIMATE-GIFS"><quote>+deanimate-gifs</quote></ulink>
+ matches, then <application>Privoxy</application> passes the raw data through
+ to the client browser as it becomes available.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ As the browser receives the now (probably filtered) page content, it
+ reads and then requests any URLs that may be embedded within the page
+ source, e.g. ad images, stylesheets, JavaScript, other HTML documents (e.g.
+ frames), sounds, etc. For each of these objects, the browser issues a new
+ request. And each such request is in turn processed as above. Note that a
+ complex web page may have many such embedded URLs.