Ich googelte viel und viele Antworten sind Ja. Zum Beispiel: Is GET data also encrypted in HTTPS? Aber der leitende Sicherheitsingenieur in unserer Firma sagte mir, dass die URL nicht verschlüsselt wäre.Verschlüsselt https die gesamte URL?
Bild, dass, wenn die URL verschlüsselt wurde, wie findet der DNS-Server den Host und verbinden?
Ich denke, das ist sehr stark, obwohl es gegen die meisten Antworten ist. Also bin ich wirklich verwirrt und meine Fragen sind:
- Verschlüsselt HTTPS alles in der Anfrage? (einschließlich der URL, Host, Pfad, Parameter, Header)
- Wenn ja, wie der DNS-Server die Anfrage entschlüsseln und an den Host-Server senden?
Ich versuchte https://www.amazon.com/gp/css/homepage.html/ref=ya_surl_youracct und mein IE schickte zwei Anfragen an den Server zuzugreifen:
Erstens:
CONNECT www.amazon.com:443 HTTP/1.0
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Host: www.amazon.com
Content-Length: 0
DNT: 1
Connection: Keep-Alive
Pragma: no-cache
Zweitens:
GET /gp/css/homepage.html/ref=ya_surl_youracct HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: en-US,zh-CN;q=0.5
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Accept-Encoding: gzip, deflate
Host: www.amazon.com
DNT: 1
Connection: Keep-Alive
Es ist mein Browser zweimal angefordert hat, scheint : das erste Mal ist es, die Verbindung mit Host (ohne Verschlüsselung) herzustellen und das zweite Mal eine verschlüsselte Anfrage über https zu senden? Habe ich recht? Wenn ich das richtig verstehe, wenn ein Client die RESTFUL API über HTTPS aufruft, sendet er die Anfragen (Verbindung und Get/Post) jedes Mal zweimal.
In Bezug auf die Sicherheit Sie sollten davon ausgehen, dass die URL öffentlich ist. Das ist nicht wirklich der Fall (siehe JohnWus Antworten), aber Sie, wie @ T.Rob sagt, sollten Sie davon ausgehen, dass sie angesehen werden können und nichts Sensitives in sie setzen. –