title: Why do I need strand per connection when using boost::asio?
body: <p>I'm reviewing <a href="http://www.boost.org/doc/libs/1_51_0/doc/html/boost_asio/examples.html#boost_asio.examples.http_server_3">HTTP Server 3</a> example on Boost's website.</p>
  
  <p>Could you guys please explain why I need <code>strand</code> per connection ? As I can see we call <code>read_some</code> only in handler of read-event. So basically <code>read_some</code> calls are sequential therefore there is no need for strand (and <a href="http://www.boost.org/doc/libs/1_51_0/doc/html/boost_asio/overview/core/strands.html">item 2 of 3rd paragraph</a> says the same thing). Where is the risk in multi-threading environment?</p>