/usr/share/polipo/www/doc/Censor-Accept_002dLanguage.html is in polipo 1.0.4.1-1.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | <html lang="en">
<head>
<title>Censor Accept-Language - The Polipo Manual</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="The Polipo Manual">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Censoring-headers.html#Censoring-headers" title="Censoring headers">
<link rel="prev" href="Censoring-headers.html#Censoring-headers" title="Censoring headers">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 2003 -- 2006 by Juliusz Chroboczek.-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
</head>
<body>
<div class="node">
<a name="Censor-Accept-Language"></a>
<a name="Censor-Accept_002dLanguage"></a>
<p>
Previous: <a rel="previous" accesskey="p" href="Censoring-headers.html#Censoring-headers">Censoring headers</a>,
Up: <a rel="up" accesskey="u" href="Censoring-headers.html#Censoring-headers">Censoring headers</a>
<hr>
</div>
<h5 class="subsubsection">3.3.2.1 Why censor Accept-Language</h5>
<p><a name="index-negotiation-101"></a><a name="index-content-negotiation-102"></a><a name="index-Accept_002dLanguage-103"></a>
Recent versions of HTTP include a mechanism known as <dfn>content
negotiation</dfn> which allows a user-agent and a server to negotiate the
best representation (instance) for a given resource. For example, a
server that provides both PNG and GIF versions of an image will serve
the PNG version to user-agents that support PNG, and the GIF version
to Internet Explorer.
<p>Content negotiation requires that a client should send with every
single request a number of headers specifying the user's cultural and
technical preferences. Most of these headers do not expose sensitive
information (who cares whether your browser supports PNG?). The
‘<samp><span class="samp">Accept-Language</span></samp>’ header, however, is meant to convey the user's
linguistic preferences. In some cases, this information is sufficient
to pinpoint with great precision the user's origins and even his
political or religious opinions; think, for example, of the
implications of sending ‘<samp><span class="samp">Accept-Language: yi</span></samp>’ or ‘<samp><span class="samp">ar_PS</span></samp>’.
<p>At any rate, ‘<samp><span class="samp">Accept-Language</span></samp>’ is not useful. Its design is
based on the assumption that language is merely another representation
for the same information, and ‘<samp><span class="samp">Accept-Language</span></samp>’ simply carries a
prioritised list of languages, which is not enough to usefully
describe a literate user's preferences. A typical French user, for
example, will prefer an English-language original to a French
(mis-)translation, while still wanting to see French language texts
when they are original. Such a situation cannot be described by the
simple-minded ‘<samp><span class="samp">Accept-Language</span></samp>’ header.
</body></html>
|