2009-06-12 10 views
5

Ho un sito che funziona molto bene quando tutto è in HTTPS (autenticazione, servizi web, ecc.). Se mischio http e https richiede più codice (problemi tra domini).Buone pratiche o cattive pratiche per forzare l'intero sito su HTTPS?

Non mi sembra di vedere molti siti Web interamente in HTTPS, quindi mi chiedevo se fosse una cattiva idea andare in questa direzione in questo modo?

Edit: sito è quello di essere ospitato su Azure il cloud in cui larghezza di banda e l'utilizzo della CPU potrebbe essere un problema ...

risposta

3

Se non si hanno effetti collaterali, per il momento si sta probabilmente bene e si può essere felici di non creare lavoro dove non è necessario.

Tuttavia, vi sono pochi motivi per crittografare tutto il traffico. Sicuramente credenziali di accesso o altri dati sensibili. Una delle cose principali che potresti perdere è il caching a valle. I tuoi server, gli ISP e gli utenti intermedi non possono memorizzare nella cache l'https. Questo potrebbe non essere del tutto pertinente in quanto si legge che stai solo fornendo servizi. Tuttavia, dipende completamente dalla configurazione e dal fatto che vi siano opportunità per la memorizzazione nella cache e se le prestazioni rappresentano un problema.

+0

Grazie, non sapevo del caching. Il caching potrebbe essere molto importante per me nella mia pagina principale dato che ci saranno dati binari caricati dal servizio. – vidalsasoon

4

HTTPS diminuisce il throughput del server quindi potrebbe essere una cattiva idea se l'hardware non può far fronte con essa. Potresti trovare this post useful. Questo documento (accademico) discute anche the overhead of HTTPS.

+1

Il collegamento al documento accademico è morto. Potresti pubblicare un live o solo il titolo del documento? Carino per favore? – hannson

+1

Questo è il motivo per cui adoro la WayBackMachine! https://web.archive.org/web/20100215150018/http://iweb.tntech.edu/hexb/publications/https-STAR-03122003.pdf – Hath1

5

si perde un sacco di funzioni con https (principalmente legati alla performance)

  • proxy possono non le pagine della cache
  • non è possibile utilizzare un proxy inverso per il miglioramento delle prestazioni
  • Non è possibile ospitare più domini sul stesso indirizzo IP
  • Ovviamente, la crittografia consuma CPU

forse è per non problema per voi, dipende in realtà dai requisiti

+0

Il browser Web non memorizzerà nemmeno il contenuto nella cache. – BacMan

+3

È possibile utilizzare un proxy inverso con https, se il proxy inverso parla con https al client e semplicemente http sui server di back-end. – dave4420

+4

I browser Web eseguono il caching dei contenuti HTTPS. Il comportamento di memorizzazione nella cache dipende solo dall'intestazione del controllo della cache. Di solito, quando HTTPS viene utilizzato per transazioni, servizi bancari, ecc., Il controllo cache è impostato su "no-cache" – chris166

4

Se si hanno richieste HTTP provenienti da una pagina HTTPS si forza l'utente a confermare il caricamento di dati non sicuri. Fastidioso su alcuni siti Web che uso.

+1

Solo per approfondire un po 'con un esempio: se si mostrano immagini da un altro URL (ad esempio un contenuto o un server di immagini) che non sono crittografate (es. Http://myimageserver.com/Image.jpg), il browser fai apparire un avvertimento che alcune parti della pagina non sono criptate. –

1

Odio imbattersi in inutilmente tutti i siti https che gestiscono nulla che richiede realmente la crittografia. Soprattutto perché sembrano tutti 10 volte più lenti di ogni altro sito che visito. Come la maggior parte delle pagine di documentazione su developer.mozilla.org ti costringerà a vederlo con https, senza alcun motivo, e richiede sempre molto tempo per essere caricato.

+2

Sì, odio i siti che si preoccupano di proteggere la mia navigazione sul web da occhi indiscreti ... –

3

È consigliabile utilizzare all-HTTPS o almeno fornire agli utenti esperti l'opzione per all-HTTPS.

Se alcuni casi in cui HTTPS è completamente inutile e in quei casi si riscontra un peggioramento delle prestazioni, solo in tal caso si predefinirà o si autorizzerà il non-HTTPS.