Apache Proxy Notes - Dalhousie University

Download Report

Transcript Apache Proxy Notes - Dalhousie University

Proxy Servers

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 2

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 3

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 4

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 5

Main Proxy Functions  Caching  Firewall  Filtering  Logging 6

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 7

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) 8

How Does a Web Cache Work?

 Set of rules in either or both  Proxy admin  HTTP header 9

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

 Fails proxy filter rules  URL  Meta data  MIME type  Contents or

secure

10

Getting From Cache  Use cache copy if it is

fresh

 Within date constraint  Used recently and modified date is not recent 11

2. Firewalls  Proxies for security protection  More on this later 12

3. Filtering at the Proxy 1.

2.

3.

URL lists (black and white lists) Meta data Content filters 13

label base

Filtering

Web doc

keywords

URL lists

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

15

Filtering Application Types

Proxies  Black lists  White lists  Keyword profiles  Labels 16

Black and White Lists  Black list : URLs proxy will not access  White list: URLs proxy will allow access 17

How Is Filtering/selection Done?

 Build a profile of preferences  Match input against the profile using rules 18

Black and White Lists  Black list of URLs  No access allowed  White list of URLs  Access permitted 19

Lists in Action  1 billion documents!

 Who builds the lists  Who updates them  Frequency of updates 20

Labels  Metadata tags  Rule driven: PICS rules for example  Labels are part of document or separate  Separate = label bureau 21

Labels  Metadata (goes with page)  Label Bureau (stored separately from page) 22

Meta Data as part of HTML doc ……

Browser and/or proxy interpret the metadata

23

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 24

Labels: Collaborative Filtering

Labels Rating Service Label Bureau A Label Bureau B Search Engine Author Labels Web Site 25

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 26

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) ) 27

Using a URL List Filtering (PicsRule-1.1

(Policy (RejectByURL (http://www.xyz.com:*/*) Policy (AcceptIf “otherwise”) ) ) 28

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”) ) )

29

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) 30

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 31

Labels and Digital Signatures Labels can also be used to carry digital Signature and authority information 32

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'' ''[email protected] graz.ac.at'') (''on'' ''1996.12.02T22:20-0000'') (''SigCrypto'' ((''R'' ''aba124124156'') 33 (''S''

Proxy level (hidden) 34

Text analysis of Page content  Proxy examines text of page before showing it  Generally keyword based  Profile of ‘black’ and/or ‘white’ keywords 35

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’ 36

Keyword matching algorithms 1.

2.

3.

4.

5.

6.

7.

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!

37

the of and to in a be will Stop List (35%) for on is with by as this are from or been was have it (27 words) that at an were has 38

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?

39

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) [TW 2 ]*[PW 2 ]) 40

What works well?

41

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

42