420 likes | 431 Views
Learn about proxy servers, their functions, and their various uses such as caching, filtering, and firewall protection. Discover how web caches and filtering at the proxy level work, and the importance of labels and metadata for content filtering.
E N D
What Is a Proxy Server? • Intermediary server between clients and the actual server • Proxy processes request • Proxy processes response • Intranet proxy may restrict all outbound/inbound requests the intranet server
What Does a Proxy Server Do? • Between client and server • Receives the client request • Decides if request will go on to the server • May have cache & may respond from cache • Acts as the client with respect to the server • Uses one of it’s own IP addresses to get page from server
Usual Uses for Proxies • Firewalls • Employee web use control (email etc.) • Web content filtering (kids) • Black lists (sites not allowed) • White lists (sites allowed) • Keyword filtering of page content
User Perspective • Proxy is invisible to the client • IP address of proxy is the one used or the browser is configured to go there • Speed up retrieval if using caching • Can implement profiles or personalization
Main Proxy Functions • Caching • Firewall • Filtering • Logging
Web Cache Proxy • Our concern is not with browser cache! • Store frequently used pages at proxy rather than request the server to find or create again • Why? • Reduce latency: faster to get from proxy & so makes the server seem more responsive • Reduce traffic: reduces traffic to actual server
Proxy Caches • Proxy cache serves hundreds/thousands of users • Corporate and intranets often use • Most popular requests are generated only once • Good news: Proxy cache hit rates often hit 50% • Bad news: Stale content (stock quotes)
How Does a Web Cache Work? • Set of rules in either or both • Proxy admin • HTTP header
Don’t Cache Rules • HTTP header • Cache-control: max-age=xxx, must-revalidate • Expires: date… • Last-modified: date… • Pragma: no-cache (doesn’t always work!) • Object is authenticated or secure • Fails proxy filter rules • URL • Meta data • MIME type • Contents
Getting From Cache • Use cache copy if it is fresh • Within date constraint • Used recently and modified date is not recent
2. Firewalls • Proxies for security protection • More on this later
3. Filtering at the Proxy • URL lists (black and white lists) • Meta data • Content filters
Filtering label base Web doc URL lists keywords URLs ratings URLs ratings
The Problem: the Web • 1 billion documents (April 2000) • Average query is 2 words (e.g., Sara name) • Continual growth • Balance global indexing and access and unintentional access to inappropriate material
Filtering Application Types Proxies • Black lists • White lists • Keyword profiles • Labels
Black and White Lists • Black list : URLs proxy will not access • White list: URLs proxy will allow access
How Is Filtering/selection Done? • Build a profile of preferences • Match input against the profile using rules
Black and White Lists • Black list of URLs • No access allowed • White list of URLs • Access permitted
Lists in Action • 1 billion documents! • Who builds the lists • Who updates them • Frequency of updates
Labels • Metadata tags • Rule driven: PICS rules for example • Labels are part of document or separate • Separate = label bureau
Labels • Metadata (goes with page) • Label Bureau (stored separately from page)
Meta Data as part of HTML doc <HTML> <HEAD> <META HTTP-EQUIV=“keywords” CONTENT=“federal”> <META HTTP-EQUIV=“keywords” CONTENT=“tax”> </HEAD> …… </HTML> Browser and/or proxy interpret the metadata
Metadata Apart From Doc • Label bureaus • Request for a doc is also a request for labels from one or more label bureaus • Who makes the labels • Text analysis • Community of users • Creator of document
Labels: Collaborative Filtering Search Engine Label Bureau B Labels Author Labels Label Bureau A Web Site Rating Service
PICS and PICS Rules • Tools for communities to use profiles and control/direct access • Structure designed by W3 consortium • Content designed by communities of users
PICS Rating Data (PICS1-1 “http//www.abc.org/r1.5” by “John Doe” labels on “1998.11.05” until “2000.11.01” for http://www.xyz.com/new.html ratings (violence 2 blood 1 language 4) )
Using a URL List Filtering (PicsRule-1.1 (Policy (RejectByURL (http://www.xyz.com:*/*) Policy (AcceptIf “otherwise”) ) )
Using the PICS Data (PicsRule-1.1 (serviceinfo ( http://www.lablist.org/ratings/v1.html shortname “PTA” bureauURL http://www.lablist.org/ratings UseEmbedded “N” ) Policy (RejectIf “((PTA.violence >3) or (PTA.language >2))”) Policy (AcceptIf “otherwise”) ) )
Example: Medical PICS labels • Su – UMLS vocab word: 0-9999999 • Aud- audience: 1-patient, 3-para, 5-GP, etc. • Ty-information type: 5-scientist, 3-patient, 4-prod • C-country: 1-Can, 4-Afghan, etc. • Etc. • Ratings(su 0019186 aud 3:5 Ty 3 C 1)
User Profiles for Labels • Rules for interpreting ratings • Based on • User preferences • User access privileges • Who keeps these • Who updates these • How fine is the granularity
Labels and Digital Signatures Labels can also be used to carry digital Signature and authority information
Example (''byKey'' ((''N'' ''aba21241241='') (''E'' ''abcdefghijklmnop=''))) (''on'' ''1996.12.02T22:20-0000'') (''SigCrypto'' ''aba1241241=='')) (''Signature'' ''http://www.w3.org/TR/1998/REC-DSig-label/DSS-1_0'' (''ByName'' ''plipp@iaik.tu-graz.ac.at'') (''on'' ''1996.12.02T22:20-0000'') (''SigCrypto'' ((''R'' ''aba124124156'') (''S'' ''casdfkl3r489'')))))
Text analysis of Page content • Proxy examines text of page before showing it • Generally keyword based • Profile of ‘black’ and/or ‘white’ keywords
Profiles for Text analysis • Keywords (+ weights sometimes) • ‘Reflect’ interest of user or user group • May be used to eliminate pages • ‘All but’ • May be used to select pages • ‘Only those’
Keyword matching algorithms • Extract keywords • Eliminate ‘noisy’ words with stop list (1/3) • Stem (computer compute computation) • Match to profile • Evaluate ‘value’ of match • Check against a threshold for match • Show or throw!
the for of on and is to with in by a as be this will are from that or at been an was were have has it (27 words) Stop List (35%)
Matching Profile to Page • Similarity? • How many profile terms occur in doc? • How often? • How many docs does term occur in? • How important is the term to the profile?
Cosine Similarity Measurement • Profile terms weighted PW (0,1) importance • Document terms weighted TW (0,1) • frequency in doc • frequency in whole set • Overall closeness of doc to profile (all profile terms)[TW *PW] -------------------------------------------- ((all profile terms)[TW2]*[PW2])
What works well? Nothing
What’s the problem? • Site Labels • Who does them? • Are they authentic? • Has the source changed? • A billion docs? • Black and White lists • Ditto • Text analysis of page contents • Poor results