I have been frustrated by Safari using IPv4 by default for websites that have both IPv4 and IPv6 address (most other browsers and IPv6 enabled applications will attempt to use IPv6 before IPv4 if you and the remote server have v6 addresses). Then I noticed that Safari was attempting to connect to servers with an IPv6 address first when accessing secure sites using https: (SSL).
So I turned on the Safari Debug menu. If you go to Debug -> Supported Protocols and turn off http: (Simple Loader), then http: behaves the same way as https: using the CFNetwork loader (correctly).
Sadly this option is not preserved between launches of Safari, and I cannot see a way of setting it in the preferences .plist. Perhaps it can be scripted ?
Mac OS X Hints
http://hints.macworld.com/article.php?story=20040112104026573