On Sun, May 22, 2011 at 3:13 AM, Dhruv Matani <[email protected]> wrote: >>> The HTTP Content-Type header of all client requests SHOULD be "text/xml; >>> charset=utf-8". > >> Ignored headers add unnecessary overhead to every request; upstream is often >> severely limited. It would be better to prefer omitting this header >> entirely when possible. Are there situations where this might cause >> problems? > > I agree. Maybe the default should be assumed to be utf-8 and if > different, it may be specified.
The character set is always UTF-8 by default anyway. > 1. Additionally, I does it make sense to change the "should" below to a > "must"? > > "If no <stream:features/> element is included in the connection > manager's session creation response, then the client SHOULD send empty > request elements until it receives a response containing a > <stream:features/> element." This seems redundant, anyway. It's always the client's job to send requests to receive replies--this is fundamental to BOSH. To follow up: On Mon, May 16, 2011 at 7:47 PM, Glenn Maynard <[email protected]> wrote: > 11. Overactivity: > >> If during any period the client sends a sequence of new requests equal in >> length ... > > Is this necessary? Servers can effectively rate-limit clients by throttlign > their responses. That way, rate limiting is enforced by the first > Overactivity rule ("longer than the number..."). This simplifies clients, > because when not in polling mode, they no longer have to pay attention to > the 'polling' attribute at all and don't need to perform any timer-based > throttling. I see what's happening here: this rule only applies when the last packet is an unnecessary empty packet, one that that wasn't actually needed to pad out the number of held connections. As long as a client never does that, only sending empty packets when it has a reason to do so (including during retransmissions), this rule has no effect. I'm not sure why the polling time matters here, though; it seems simpler to just prohibit sending null requests (requests with no body, 'pause' or 'terminate' command, or anything else with side-effects) when the number of requests is already greater than or equal to the value of 'hold'. -- Glenn Maynard
