Ad blockers work by using browser extensions to reference lists of known advertising domains and content delivery networks (CDNs) in order to inspect web pages for advertising scripts and stylesheets and either hide or block the loading of those elements, resulting in ads being removed from the page rendered in the browser. Recent developments include improved blocking on mobile devices, the rise of techniques to block ad blocking, and ongoing challenges from encryption and changes to how content is delivered online.
5. “My right to protect myself from
malvertising, spyware, and totally irrelevant
advertising.”
“A way to speed up my web browsing.”
“It saves me a huge amount of money on
my mobile data plan.”
“I don’t want to be tracked by marketers.
It’s creepy.”
6. “Outright theft of my content”
“A reflection of how consumers feel about
online advertising”
“It’s only really used by young, male
techies.”
“It’s the same as pirating movies”
7. The hiding or request denial of content not directly related to
core content of a page or app. This includes display & video
advertising, text links, content recommendation and
marketing, native advertising and other paid and unpaid
placements.
9. 0
75
150
225
300
2000 2002 2004 2006 2008 2010 2012 2014 2016
2002
AdBlock launched
Blocks based on
source of creative
2006
ADB+ released as
standalone
extension
Site level blocking
enabled
2010
AdBlock+ released
as Chrome
Extension
2013
Support added for
IE
Removed from
Google Play but
available on the
ADB+ site
2014
AdBlock Plus
released for OS X
Safari
2015
Blocker browsers
Apple Support for
ad blocking
Blocker blockers
emerge
Network / carrier
level blocking
AdBlock+ launched
‘acceptable ads’ as
an industry initiative
History of Ad Blocking
2004
Content policies
leveraged as
blocking
mechanism
Scripts,
background
images, stylesheets
added to lockable
item list
2005
Whitelisting
introduced
localised versions
launched
list & filter synching
11. Some Ad Blocking Terms
Browser Extension: A small program that is linked to a web browser like Chrome or Firefox.
Content Policies / Filtering: The use of a program to screen and exclude from access or availability Web pages or
electronic content that is deemed objectionable.
DOM (Document Object Model): An API to an underlying HTML or XML document represented typically by a hierarchy
of objects within the document.
DPI (Deep Packet Inspection): A kind of filtering that examines the data part and header of a chunk of information as it
passes a point in a network. It searches for protocol non-compliance, viruses, spam, intrusions, and other flagged
information.
Gecko: A web browser designed to support open Internet standards and is used by different applications to display web
pages and, in some cases, an application's user interface itself. It is free and open-source software.
Lists (e.g. EasyList): a collection of domains, sub-domains, and other references to technology that delivers advertising
to browsers
RegEx (Regular Expression): A way to search for parts of a string of text. Similar to using an * when looking for a
filename.
12. Element Hiding + Request Blocking
Element hiding: A CSS snippet is injected into the DOM via the
browser extension to hide elements. Ads are completely removed
from the rendered page. This doesn't prevent resources from loading
in the first place.
Request blocking: To keep the payload from loading in the first
place, HTTP requests for retrieving resources that are supposed to be
blocked are blocked entirely. This will make the page load faster by
reducing data throughput. Request blocking enables blocking
content that is loaded from within Flash or HTML5 including video
pre-roll.
http://stackoverflow.com/users/406565/sebastian-noack
13. The steps to blocking
User requests a web page with ad blocking enabled
Ad blocker is an extension to the browser
Ad blocker references a list of know ad servers and content delivery
networks (CDNs)
The ad blocker inspects the DOM for scripts and CSS known to be affiliated
with advertising
The ad blocker cleans up the holes (sometimes) in the page to tidy to up
The page renders on the user’s browser