summaryrefslogtreecommitdiffstats
path: root/docs/en/cowboy/2.3/manual/http_status_codes/index.html
blob: 8914a51d6252913b6f6c685dac4300174c2f0d9a (plain) (blame)
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">

    <title>Nine Nines: HTTP status codes(7)</title>

    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
    <link href="/css/99s.css?r=7" rel="stylesheet">

    <link rel="shortcut icon" href="/img/ico/favicon.ico">
    <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
    <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
    <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">

    
</head>


<body class="">
  <header id="page-head">
    <div id="topbar" class="container">
        <div class="row">
          <div class="span2">
            <h1 id="logo"><a href="/" title="99s">99s</a></h1>
          </div>
          <div class="span10">
            
            <div id="side-header">
              <nav>
                <ul>
                  <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
  				  <li><a title="Watch my talks" href="/talks">Talks</a></li>
  				  <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
  				  <li><a title="Request my services" href="/services">Consulting & Training</a></li>
                </ul>
              </nav> 
              <ul id="social">
                <li>
                  <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
                </li>
                    <li>
						<a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
					</li>
              </ul>
            </div>
          </div>
        </div>
    </div>


</header>

<div id="contents" class="two_col">
<div class="container">
<div class="row">
<div id="docs" class="span9 maincol">

<h1 class="lined-header"><span>HTTP status codes(7)</span></h1>

<h2 id="_name">Name</h2>
<p>HTTP status codes - status codes used by Cowboy</p>
<h2 id="_description">Description</h2>
<p>This chapter aims to list all HTTP status codes that Cowboy may return, with details on the reasons why. The list given here only includes the replies that Cowboy sends, not user replies.</p>
<h2 id="_100_continue">100 Continue</h2>
<p>When the client sends an <code>expect: 100-continue</code> header, Cowboy automatically sends a this status code before trying to read the request body. This behavior can be disabled using the appropriate body option.</p>
<h2 id="_101_switching_protocols">101 Switching Protocols</h2>
<p>This is the status code sent when switching to the Websocket protocol.</p>
<h2 id="_200_ok">200 OK</h2>
<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_201_created">201 Created</h2>
<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_202_accepted">202 Accepted</h2>
<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_204_no_content">204 No Content</h2>
<p>This status code is sent when the processing of a request ends without any reply having been sent. It may also be sent by <code>cowboy_rest</code> under normal conditions.</p>
<h2 id="_300_multiple_choices">300 Multiple Choices</h2>
<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_301_moved_permanently">301 Moved Permanently</h2>
<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_303_see_other">303 See Other</h2>
<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_304_not_modified">304 Not Modified</h2>
<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_307_temporary_redirect">307 Temporary Redirect</h2>
<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_400_bad_request">400 Bad Request</h2>
<p>Cowboy will send this status code for any of the following reasons:</p>
<ul><li>Too many empty lines were sent before the request.
</li>
<li>The request-line could not be parsed.
</li>
<li>Too many headers were sent.
</li>
<li>A header name was too long.
</li>
<li>A header value was too long.
</li>
<li>The host header was missing from an HTTP/1.1 request.
</li>
<li>The host header could not be parsed.
</li>
<li>The requested host was not found.
</li>
<li>The requested path could not be parsed.
</li>
<li>The accept header could not be parsed when using REST.
</li>
<li>REST under normal conditions.
</li>
<li>A Websocket upgrade failed.
</li>
</ul>
<h2 id="_401_unauthorized">401 Unauthorized</h2>
<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_403_forbidden">403 Forbidden</h2>
<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_404_not_found">404 Not Found</h2>
<p>This status code is sent when the router successfully resolved the host but didn&apos;t find a matching path for the request. It may also be sent by <code>cowboy_rest</code> under normal conditions.</p>
<h2 id="_405_method_not_allowed">405 Method Not Allowed</h2>
<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_406_not_acceptable">406 Not Acceptable</h2>
<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_408_request_timeout">408 Request Timeout</h2>
<p>Cowboy will send this status code to the client if the client started to send a request, indicated by the request-line being received fully, but failed to send all headers in a reasonable time.</p>
<h2 id="_409_conflict">409 Conflict</h2>
<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_410_gone">410 Gone</h2>
<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_412_precondition_failed">412 Precondition Failed</h2>
<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_413_request_entity_too_large">413 Request Entity Too Large</h2>
<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_414_request_uri_too_long">414 Request-URI Too Long</h2>
<p>Cowboy will send this status code to the client if the request-line is too long. It may also be sent by <code>cowboy_rest</code> under normal conditions.</p>
<h2 id="_415_unsupported_media_type">415 Unsupported Media Type</h2>
<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_500_internal_server_error">500 Internal Server Error</h2>
<p>This status code is sent when a crash occurs in HTTP, loop or REST handlers, or when an invalid return value is returned. It may also be sent by <code>cowboy_rest</code> under normal conditions.</p>
<h2 id="_501_not_implemented">501 Not Implemented</h2>
<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_503_service_unavailable">503 Service Unavailable</h2>
<p>This status code is sent by <code>cowboy_rest</code>.</p>
<h2 id="_505_http_version_not_supported">505 HTTP Version Not Supported</h2>
<p>Cowboy only supports the versions 1.0 and 1.1 of HTTP. In all other cases this status code is sent back to the client and the connection is closed.</p>






</div>

<div class="span3 sidecol">


<h3>
	Cowboy
	2.3
	Function Reference
	
</h3>

<ul>
	
		<li><a href="/docs/en/cowboy/2.3/guide">User Guide</a></li>
	
	
		<li><a href="/docs/en/cowboy/2.3/manual">Function Reference</a></li>
	
	
</ul>

<h4 id="docs-nav">Navigation</h4>

<h4>Version select</h4>
<ul>
	
	
	
		<li><a href="/docs/en/cowboy/2.8/manual">2.8</a></li>
	
		<li><a href="/docs/en/cowboy/2.7/manual">2.7</a></li>
	
		<li><a href="/docs/en/cowboy/2.6/manual">2.6</a></li>
	
		<li><a href="/docs/en/cowboy/2.5/manual">2.5</a></li>
	
		<li><a href="/docs/en/cowboy/2.4/manual">2.4</a></li>
	
		<li><a href="/docs/en/cowboy/2.3/manual">2.3</a></li>
	
</ul>

<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
<p>Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
<input type="hidden" name="cmd" value="_donations">
<input type="hidden" name="business" value="[email protected]">
<input type="hidden" name="lc" value="FR">
<input type="hidden" name="item_name" value="Loic Hoguin">
<input type="hidden" name="item_number" value="99s">
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
</form><p>Recurring payment options are also available via <a href="https://github.com/sponsors/essen">GitHub Sponsors</a>. These funds are used to cover the recurring expenses like food, dedicated servers or domain names.</p>



</div>
</div>
</div>
</div>

      <footer>
        <div class="container">
          <div class="row">
            <div class="span6">
              <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
              <nav>
                <ul>
                  <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
                </ul>
              </nav>
            </div>
            <div class="span6 credits">
               <p><img src="/img/footer_logo.png"></p>
               <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
            </div>
          </div>
        </div>
      </footer>

    
    <script src="/js/custom.js"></script>
  </body>
</html>