The Yahoo Developer Best Practices recommend using multiple hosts (host1.company.com, host2.company.com, etc..) as a way of overcoming a webbrowsers built in limitation of only issuing two concurrent requests per domain.
Please gloss over this backgrounder for more information.
Before I begin, don't be confused into thinking that I am talking about "DNS performance". I'm not. I'm only talking about overcoming a browsers' built-in throttling mechanism.
So, how do I properly implement a HTTPS-only website with regard to parallel requests?
This is a logical question because every new HTTPS request will incur setup and teardown costs. This will impact performance in proportion to how many SSL/TLS connections opened.
The factors that affect the performance of a SSL/TLS connection include
- Which cipher is used (e.g. PFS is slower than RSA also see more info)
- The bit strength of the certificate
- (..others?... please expand on these examples if you can)
So if I think further about the dependencies involved, that makes me ask these questions:
Does my certificate choice affect performance when using many DNS domains?
Does the server configuration affect performance when using many DNS domains?
Suppose a web browser downloads content from 10 different subdomains, it potentially has to set up each SSL session from scratch. That would mean there could be a significant delay in getting the first page to load.
Would first-page load of PFS perform better or worse than AES vs RC4? What about the second page?
Can a wildcard certificate (or one with different Subject Alternative Names) allow me to use many domains with many domain names? Will this solve the performance problem?