| Index: chrome/common/extensions/docs/server2/templates/articles/hosting.html
|
| diff --git a/chrome/common/extensions/docs/server2/templates/articles/hosting.html b/chrome/common/extensions/docs/server2/templates/articles/hosting.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..636e85788fc167993248cf6917b89e3b2c7cbad4
|
| --- /dev/null
|
| +++ b/chrome/common/extensions/docs/server2/templates/articles/hosting.html
|
| @@ -0,0 +1,84 @@
|
| +<h1>Hosting</h1>
|
| +
|
| +<p>
|
| +This page tells you how to host <code>.crx</code> files
|
| +on your own server.
|
| +If you distribute your extension, app, or theme solely through the
|
| +<a href="http://chrome.google.com/webstore">Chrome Web Store</a>,
|
| +you don't need this page.
|
| +Instead, consult the
|
| +<a href="http://www.google.com/support/chrome_webstore/">store help</a> and
|
| +<a href="http://code.google.com/chrome/webstore/index.html">developer documentation</a>.
|
| +</p>
|
| +
|
| +<p>
|
| +By convention, extensions,
|
| +installable web apps, and themes are served—whether
|
| +by the Chrome Web Store or by a custom server—as
|
| +<code>.crx</code> files.
|
| +When you upload a ZIP file with the
|
| +<a href="https://chrome.google.com/webstore/developer/dashboard">Chrome Developer Dashboard</a>,
|
| +the dashboard creates the <code>.crx</code> file for you.
|
| +</p>
|
| +
|
| +<p>
|
| +If you aren't publishing using the dashboard,
|
| +you need to create the <code>.crx</code> file yourself,
|
| +as described in <a href="packaging.html">Packaging</a>.
|
| +You can also specify
|
| +<a href="autoupdate.html">autoupdate</a> information to ensure that
|
| +your users will have the latest copy of the <code>.crx</code> file.
|
| +</p>
|
| +
|
| +<p>
|
| +A server that hosts <code>.crx</code> files
|
| +must use appropriate HTTP headers,
|
| +so that users can install the file
|
| +by clicking a link to it.
|
| +</p>
|
| +
|
| +<p>
|
| +Google Chrome considers a file to be installable
|
| +if <b>either</b> of the following is true:
|
| +</p>
|
| +
|
| +<ul>
|
| + <li>
|
| + The file has the content type
|
| + <code>application/x-chrome-extension</code>
|
| + </li>
|
| + <li>
|
| + The file suffix is <code>.crx</code>
|
| + and <b>both</b> of the following are true:
|
| + <ul>
|
| + <li>
|
| + The file <b>is not</b> served with
|
| + the HTTP header <code>X-Content-Type-Options: nosniff</code>
|
| + </li>
|
| + <li>
|
| + The file <b>is</b> served
|
| + with one of the following content types:
|
| + <ul>
|
| + <li> empty string </li>
|
| + <li> "text/plain" </li>
|
| + <li> "application/octet-stream" </li>
|
| + <li> "unknown/unknown" </li>
|
| + <li> "application/unknown" </li>
|
| + <li> "*/*" </li>
|
| + </ul>
|
| + </li>
|
| + </ul>
|
| + </li>
|
| +</ul>
|
| +
|
| +<p>
|
| +The most common reason for failing to recognize an installable file
|
| +is that the server sends the header
|
| +<code>X-Content-Type-Options: no sniff</code>.
|
| +The second most common reason
|
| +is that the server sends an unknown content type—one
|
| +that isn't in the previous list.
|
| +To fix an HTTP header issue,
|
| +either change the configuration of the server
|
| +or try hosting the <code>.crx</code> file at another server.
|
| +</p>
|
|
|