簡體   English   中英

SSL握手和服務器響應

[英]SSL Handshake and Server Response

我想知道,如果網站內容在SSL握手或TCP握手期間發生更改,會發生什么情況?

例如:

TCP或SSL握手恰好在客戶端和服務器之間的16:02:00開始,並且由於某種原因握手需要花費很長時間,例如5秒鍾。

因此握手在16:02:05處完成,但有一定延遲,但成功完成了,客戶端開始獲取內容。

但是,如果網站內容在ssl握手時發生更改,例如在16:02:03發生更改,會發生什么?

  • 假設在16:02:00,網站內容為:“ ABCD”(當ssl或tcp握手啟動時)

  • 並在16:02:03更改為:“ ABCD1234”(同時繼續握手)

這樣客戶就可以得到其中一個。 “ ABCD”還是“ ABCD1234”?

這是我的客戶端Java代碼,用於獲取服務器響應:

  Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(host, port));
  URL obj = new URL(url); // url is https
  HttpURLConnection con = (HttpURLConnection) obj.openConnection(proxy);
  con.setConnectTimeout(10000);
  con.setReadTimeout(15000);

  int responseCode = con.getResponseCode();

  InputStream is =    con.getInputStream();

服務器發送在打開響應文件時(或從何處獲取響應)的當前響應。 只有在服務器收到HTTP請求后,才能知道完整的URL。 僅在已建立的SSL隧道內的SSL握手之后才執行此請求。 因此,它將不提供握手之前的版本。

您帖子中包含的代碼並未明確使用SSL,但是對於SSL,必須先進行握手。 握手完成(並且有效)之前,不會下載任何內容,因為在此之前無法進行任何請求。 必須完成握手才能正確編碼和解碼請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM