@@ -142,6 +142,28 @@ generally more consistent with HTTP's architecture.
142142
143143# Security Considerations
144144
145+ When receiving an incremental request, intermediaries might reject the request
146+ due to security concerns. The following subsections explore typical scenarios
147+ under which the intermediaries might reject requests.
148+
149+
150+ # # Permanent Rejection
151+
152+ Some intermediaries inspect the payload of an HTTP messages and forward them
153+ only if the content is deemed safe. Any feature that depends on seeing the
154+ entirety of the message in this way is incompatible with incremental delivery,
155+ so these intermediaries need to reject requests unless the entire message is
156+ received.
157+
158+ When an intermediary rejects an incremental message -- either a request or a
159+ response -- due to security concerns with regard to the payload that the message
160+ might convey, the intermediary SHOULD respond with a 501 (Not Implemented) error
161+ with an incremental_refused Proxy-Status response header field
162+ ({{iana-considerations}}).
163+
164+
165+ # # Temporary Rejection
166+
145167To conserve resources required to handle HTTP requests or connections, it is
146168common for intermediaries to impose limits on the maximum number of concurrent
147169HTTP requests that they forward, while buffering requests that exceed this
@@ -159,6 +181,9 @@ intermediaries SHOULD respond with a 429 Too Many Requests error
159181accompanied by a connection_limit_reached Proxy-Status response header field
160182({{Section 2.3.12 of PROXY-STATUS}}).
161183
184+
185+ # # Handling of Small Packets
186+
162187For performance and efficiency reasons, a small amount of buffering might be
163188used by intermediaries, even for incremental messages. Immediate forwarding
164189might be exploited to cause an intermediary to waste effort on many small
@@ -193,6 +218,27 @@ Comments:
193218: None
194219{: spacing="compact"}
195220
221+ An HTTP Proxy Error Type is registered in the HTTP Proxy Error Types registry as
222+ shown below :
223+
224+ Name :
225+ : incremental_refused
226+
227+ Description :
228+ : The HTTP message contained the Incremental HTTP header field, but the
229+ intermediary refused to forward the message incrementally.
230+
231+ Extra Parameters :
232+ : none
233+
234+ Recommended HTTP Status Code :
235+ : 501
236+
237+ Response Only Generated By Intermediaries :
238+ : true
239+
240+ Reference :
241+ : this document
196242
197243--- back
198244
0 commit comments