Ora, la domanda è, sai che cosa una richiesta HTTP ?
Bene, supponendo che no, ecco un esempio di uno:
GET /test?param1=hello¶m2=world HTTP/1.1
Host: subdomain.test.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.1) Gecko/20100101 Firefox/10.0.1
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Connection: keep-alive
Tutte di queste informazioni sono incluse nel trasporto SSL, come dice gentilmente il commento sulla tua risposta. Questo significa:
- Ottieni parametri crittografati.
- Corpo HTTP (parametri post) sono crittografati.
Cosa non è necessariamente sicuro:
- L'host che stai chiedendo. La maggior parte dei server Web in questi giorni supporta i parametri
Host: something
in modo che più domini possano essere gestiti da un server Web su un'interfaccia e un indirizzo IP. Chiaramente, questa intestazione è crittografata, tuttavia, se si esegue traffico non-https al sito, dovrebbe essere chiaro su quali host è possibile connettersi. Anche se questo non è il caso, DNS inverso ti dirà sicuramente cosa è ospitato su quell'IP e probabilmente puoi fare un'ipotesi ragionevole da lì.
- Informazioni sul browser / client. Sfortunatamente ogni client https è diverso e il suo processo di negoziazione potrebbe potenzialmente dare via quale piattaforma su cui gira, o quale browser è. Questa non è la fine del mondo con qualsiasi mezzo, è solo un fatto da capire.
Le richieste POST sembrano simili alle richieste, tranne che contengono un corpo. Questo può assomigliare a questo:
POST /testpost HTTP/1.1
Host: subdomain.test.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.1) Gecko/20100101 Firefox/10.0.1
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Connection: keep-alive
param1=hello¶m2=hello
Ci sono alcune varianti più complicate, ovviamente, ma in sostanza è tutto criptato comunque.