2017-06-22 21 views
0

私は組込みシステムエンジニアです。私はこの分野では非常に新しいです。私たちは組み込みシステムとWebサーバー間の安全な通信を試みています。まず、マイクロコントローラにHTTP接続を実装します。私はちょうど私のWebサーバの80ポートに接続し、以下の例のように、このポートにシンプルなGETリクエストを送信しています:、我々はHTTPSにこれをどのようになりますされHTTPとHTTPSプロトコルでリクエストを投稿

GET /foo.php?msg=test HTTP/1.1 
HOST: foo.com 

私の質問?どちらのポートに接続する必要がありますか? 上記のGETリクエストの構造に違いはありますか?手動で暗号化するか、 "https"リンクに接続する必要がありますか? "http"は安全な通信のために必要です。

あらゆる情報をお寄せいただきありがとうございます

答えて

0

HTTPリクエストの唯一の違いとHTTPSリクエストは、最初は他の、すなわち、TLS接続を介して送信される一方、平野TCPコネクションを介して送信されるということです。

    をHTTPと
  • あなたはTCP接続を確立し、TCP接続を確立HTTPSと、この接続
  • 上でリクエストを送信し、(!適切な証明書の検証などを含む)をTLSにこの接続をアップグレードしてから、同じ要求aを送るあなたはこの接続でHTTPを使っていました。

それ以外は、HTTP用に確立されたライブラリを使用するか、慎重にstandardを読むことをお勧めします。 HTTPは単純には見えますが、実際にはではありません。ユーザーが単純なHTTP要求を行い、期待していない振る舞いをしようとすると、多くの質問がここにあります。

たとえば、サーバーでコンテンツの長さを持つチャンクエンコーディングで応答を送信するか、接続を閉じるだけで応答を送信することがあります。また、HTTP/1.1は暗黙的にHTTPキープ・アライブを有効にしているので、同じ接続でさらなる要求を待つ可能性があります。あなたのコードは、これらすべてのケースを本当に説明していますか?

+0

サーバーから応答があった後。私たちは手動で通信を終了しています。 – cihaddogan

+0

@ user3077756:サーバーが応答の送信を完了したことをどのように知っていますか? –

+0

私たちのサーバーレスポンスの例です。 + IPD、343:HTTP/1.1 200 OK のContent-Type:アプリケーション/ JSON サーバー:マイクロソフト-IIS/8.5 X-パワード・バイ:ASP.NET X-PoweredのバイのPlesk:PleskWin 日:木、2017年6月22日8時46分25秒GMT のContent-Length:154 { \t "成功": 1} 私は "成功" 私は、サーバーが私を知っているにresponsedを参照してください。これはほとんどのケースを処理します。他の場合には、組み込み側とサーバ側の両方で他の接続ハンドル機構を実装します。 – cihaddogan

関連する問題