| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| |
| <html> |
| <head> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <title>Remove Quotes</title> |
| <link rel="stylesheet" href="doc.css"> |
| </head> |
| <body> |
| <!--#include virtual="_header.html" --> |
| |
| |
| <div id=content> |
| <h1>Remove Quotes</h1> |
| |
| <h2>Configuration</h2> |
| <p> |
| The 'Remove Quotes' filter is enabled by specifying: |
| <dl> |
| <dt>Apache:<dd><pre class="prettyprint" |
| >ModPagespeedEnableFilters remove_quotes</pre> |
| <dt>Nginx:<dd><pre class="prettyprint" |
| >pagespeed EnableFilters remove_quotes;</pre> |
| </dl> |
| <p> |
| in the configuration file. |
| </p> |
| |
| <h2>Description</h2> |
| <p> |
| The quote removal filter eliminates unnecessary quotation marks |
| (either <code>""</code> or <code>''</code>) from HTML attributes. While |
| required by the various HTML specifications, browsers permit their omission when |
| the value of an attribute is composed of a certain subset of characters |
| (alphanumerics and some punctuation characters). |
| </p> |
| <p> |
| Quote removal produces a modest savings in byte count on most pages. It may |
| also benefit gzip compression by canonicalizing the textual representation of |
| name=value pairs. |
| </p> |
| <p> |
| For example, if the HTML document looks like this: |
| </p> |
| <pre class="prettyprint"> |
| <html> |
| <head> |
| </head> |
| <body> |
| <img src="BikeCrashIcn.png" align='left' alt="" border="0" width='70' height='30' > |
| </body> |
| </html> |
| </pre> |
| <p> |
| Then PageSpeed will rewrite it into: |
| </p> |
| <pre class="prettyprint"> |
| <html> |
| <head> |
| </head> |
| <body> |
| <img src=BikeCrashIcn.png align=left alt="" border=0 width=70 height=30 > |
| </body> |
| </html> |
| </pre> |
| |
| <h3>Example</h3> |
| <p> |
| You can see the filter in action at <code>www.modpagespeed.com</code> on this |
| <a href="https://www.modpagespeed.com/examples/remove_quotes.html?ModPagespeed=on&ModPagespeedFilters=remove_quotes">example</a>. |
| </p> |
| |
| <h2>Requirements</h2> |
| <p> |
| Only previously-quoted attributes are subject to quote removal. Quote |
| removal occurs after most rewriting passes, so that any alterations to |
| attribute values (such as rewritten URLs) will be correctly accounted |
| for. This filter will act as a pass-through when XHTML is detected |
| via <code>doctype</code> or <code>content-type</code>. |
| </p> |
| |
| <h2>Risks</h2> |
| <p> |
| This filter is low risk. Space savings from the filter may be small (so the |
| cost of running the filter may outweigh its benefits in certain settings). |
| </p> |
| |
| |
| </div> |
| <!--#include virtual="_footer.html" --> |
| </body> |
| </html> |