Changeset 1156 for draft-ietf-httpbis/latest/p1-messaging.xml
- Timestamp:
- Mar 9, 2011, 1:41:51 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p1-messaging.xml
r1151 r1156 1356 1356 <t> 1357 1357 The message-body differs from the payload body only when a transfer-coding 1358 has been applied, as indicated by the Transfer-Encoding header field (<xref target="header.transfer-encoding"/>). When one or more transfer-codings are 1359 applied to a payload in order to form the message-body, the 1360 Transfer-Encoding header field &MUST; contain the list of 1361 transfer-codings applied. Transfer-Encoding is a property of the message, 1362 not of the payload, and thus &MAY; be added or removed by any implementation 1363 along the request/response chain under the constraints found in 1364 <xref target="transfer.codings"/>. 1358 has been applied, as indicated by the Transfer-Encoding header field 1359 (<xref target="header.transfer-encoding"/>). If more than one 1360 Transfer-Encoding header field is present in a message, the multiple 1361 field-values &MUST; be combined into one field-value, according to the 1362 algorithm defined in <xref target="header.fields"/>, before determining 1363 the message-body length. 1364 </t> 1365 <t> 1366 When one or more transfer-codings are applied to a payload in order to 1367 form the message-body, the Transfer-Encoding header field &MUST; contain 1368 the list of transfer-codings applied. Transfer-Encoding is a property of 1369 the message, not of the payload, and thus &MAY; be added or removed by 1370 any implementation along the request/response chain under the constraints 1371 found in <xref target="transfer.codings"/>. 1372 </t> 1373 <t> 1374 If a message is received that has multiple Content-Length header fields 1375 (<xref target="header.content-length"/>) with field-values consisting 1376 of the same decimal value, or a single Content-Length header field with 1377 a field value containing a list of identical decimal values (e.g., 1378 "Content-Length: 42, 42"), indicating that duplicate Content-Length 1379 header fields have been generated or combined by an upstream message 1380 processor, then the recipient &MUST; replace the duplicated fields or 1381 field-values with a single valid Content-Length field containing that 1382 decimal value prior to determining the message-body length. 1365 1383 </t> 1366 1384 <t> … … 1400 1418 </t></x:lt> 1401 1419 <x:lt><t> 1402 If a Transfer-Encoding header field (<xref target="header.transfer-encoding"/>)1403 is presentand the "chunked" transfer-coding (<xref target="transfer.codings"/>)1420 If a Transfer-Encoding header field is present 1421 and the "chunked" transfer-coding (<xref target="transfer.codings"/>) 1404 1422 is the final encoding, the message-body length is determined by reading 1405 1423 and decoding the chunked data until the transfer-coding indicates the … … 1417 1435 </t> 1418 1436 <t> 1419 If a message is received with both a Transfer-Encoding header field and a 1420 Content-Length header field, the Transfer-Encoding overrides the Content-Length. 1437 If a message is received with both a Transfer-Encoding header field 1438 and a Content-Length header field, the Transfer-Encoding overrides 1439 the Content-Length. 1421 1440 Such a message might indicate an attempt to perform request or response 1422 1441 smuggling (bypass of security-related checks on message routing or content) … … 1427 1446 <x:lt><t> 1428 1447 If a message is received without Transfer-Encoding and with either 1429 multiple Content-Length header fields or a single Content-Length header 1430 field with an invalid value, then the message framing is invalid and 1431 &MUST; be treated as an error to prevent request or response smuggling. 1448 multiple Content-Length header fields having differing field-values or 1449 a single Content-Length header field having an invalid value, then the 1450 message framing is invalid and &MUST; be treated as an error to 1451 prevent request or response smuggling. 1432 1452 If this is a request message, the server &MUST; respond with 1433 1453 a 400 (Bad Request) status code and then close the connection. … … 1435 1455 or gateway &MUST; discard the received response, send a 502 (Bad Gateway) 1436 1456 status code as its downstream response, and then close the connection. 1437 If this is a response message received by a user-agent, it & SHOULD; be1457 If this is a response message received by a user-agent, it &MUST; be 1438 1458 treated as an error by discarding the message and closing the connection. 1439 1459 </t></x:lt> 1440 1460 <x:lt><t> 1441 If a valid Content-Length header field (<xref target="header.content-length"/>)1461 If a valid Content-Length header field 1442 1462 is present without Transfer-Encoding, its decimal value defines the 1443 1463 message-body length in octets. If the actual number of octets sent in
Note: See TracChangeset
for help on using the changeset viewer.