HTTP POSTの multipart form-dataのクライアントとサーバの実装について

送信するデータを、boundaryで指定した文字列で囲うという仕様のようなのですが、ここで疑問があります。

クライアント側は、boundaryで指定したバイト列がデータに含まれていないということをどうやって保障しているのでしょうか?

ChromeではPOSTの時に WebKitFormBoundary{ランダムな英数字}というboundaryが指定されるようですが、適当に乱数で英数字を生成し、データ部分に含まれていないかをチェックしてから、リクエストを行う?

または、乱数部分が十分に長ければ、一致することは現実的にありえないとして、ノーチェックでリクエストを行う?

サーバー側はmultipart form-dataをパースをどうすれば効率的に行える?
この仕様だと、テキストデータは行単位で処理できるからマシだとして、バイナリデータは、全データをboundaryと比較しながらパースする必要があり、非常に非効率であるように思います。

簡単なHTTP クライアントやサーバーのサンプルコードでは、POSTするデータはテキストであることが前提なものしか見当たりませんでした。

実装次第だとは思いますが、どんな感じの実装が一般的なのでしょうか?