• ベストアンサー

HTTP(port:80)とHTTPS(port:443)の双方向通信を確立する

windowsXPSP2です あるソフトをインストールして 使いたいのですが、 マニュアルに 使用条件:HTTP(port:80)とHTTPS(port:443)の双方向通信を確立する なんて書いてあります。 恥ずかしながら、さっぱり意味がわかりません。 インターネットは普通にできますし、 フォームでの文章送信や、ファイルのダウンロード も普通にできます。 何をしたらいいか教えていただけませんか? 専門用語はたぶんわかりませんので 大変わがままを申しますが 初心者でもわかるような 表現にしていただけると ありがたいです

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

その使用条件の文章が非常に混乱を招きやすい悪文だと思います。No.2 の回答者の方がおっしゃるようなニュアンスに取れないこともありませんが、実際には HTTP や HTTPS で使われる通信方式(TCP/IP と呼びます)自体は双方向通信が可能なので(ブラウザから Web サーバにリクエストを<送信>し、その応答として HTML ページ等をサーバから<受信>しますので)、普通にブラウザでネットサーフィンできる環境であれば問題ないと思います。 そのソフトがどういうものか(ソフト名等)までご提示されれば、もう少し細かいアドバイスがあるかと思います。

goomod
質問者

補足

会社から渡された独自ソフトなので、 詳細はお伝えしにくいのですが データのやりとりをするソフトです。 特に設定はしていませんが、 今のところ問題なく使えています。 このままいけば特に設定はいらないかも 知れません。 もしよければ教えていただきたいのですが、 ポートを空けて<受信>するのと おっしゃられるTCP/IPでの普通の受信は 何か大きく違うのでしょうか? ポートを空けるのは危険だということが 書いていたりしましたが、 TCP/IPの通信は危険じゃないのでしょうか。

その他の回答 (2)

回答No.2

双方向となると、外部からそのPCへのアクセス許可しなくてはなので、ルータをお使いでしたらポートフォワード設定が必要かもしれません。 http://ddo.jp/howto.php

goomod
質問者

お礼

ありがとうございます。 ポートを空けるという作業のことですね。 勉強します。

  • swf
  • ベストアンサー率23% (3/13)
回答No.1

簡単に説明しますとportと言うものは、家に有るドアだと思ってください。 port80を確立と有りますが、これはport80のドアから出入りしますよと言う意味ですね。

参考URL:
http://support.microsoft.com/default.aspx?scid=kb;ja;883877
goomod
質問者

お礼

ありがとうございます。

関連するQ&A

  • 透過型プロキシのHTTPS通信

    現在,自作の透過型HTTP/HTTPSプロキシを開発中です. プロキシとしての動作は単にクライアント・サーバ間のデータ受け渡しを行うだけなのですが,現在,透過型の実現で困っております. 透過型の実現には,iptablesを利用し,宛先ポート80番のデータの宛先ポート番号を3128番(本プロキシ)に変換し,本システムにデータを送信しています.HTTPの場合はこれで問題ないのですが,HTTPSの場合が問題です. HTTPSの場合はSSLハンドシェイク等,通常のHTTPとは違う手順を行わなければならないので,HTTP,HTTPSどちらで通信するのかをあらかじめ知る必要があります. クライアントのWebブラウザでプロキシの指定を行う場合(透過型ではない)のHTTPS通信は,クライアントからCONNECTリクエストが実行された場合のみ,HTTPS通信処理へ分岐させればいいのですが,透過型の場合は,クライアントからそのメソッドが実行されず,さらにiptablesによって宛先ポート番号も3128番に書き換えられているため,HTTP通信なのかHTTPS通信なのかを判別することができません. これを実現するためには,どのような方法があるのでしょうか? 透過型プロキシでHTTPS通信をサポートする製品(Webフィルタリングソフト等)はたくさん存在しているため,実現は可能だと考えられるのですが,どのように実現されているのでしょうか? 考えられるひとつの方法としては,HTTP用を3128番,HTTPS用を3129番ポートで実行しておいて,iptablesで80ならば3128,430ならば3129等と振り分ける方法が挙げられますが,どうでしょうか. よろしくお願いいたします.

  • HTTP接続ができません。

    WindowsXPSP3を利用しているのですが、今日、突然インターネットに接続できなくなりました。 しかし、インターネットに接続できなくなったといっても、以下の不思議な状態にあります。 [接続できないもの] HTTP接続(通常のホームページが見れない) オンラインゲーム(ゲームガードがHTTP通信で情報を取得しているため?) [接続できるもの] HTTPS接続(Gmailなど、HTTPをHTTPSに書き換えることで使用可能) FTP接続(ホームページの更新など可能でした) メール(送信、受信、ともに問題なくできます) LANボードのドライバを削除し、再インストールしてみましたが変化ありません。 新しいLANケーブルにしてみましたが、やはり変化ありません。 もちろんファイアーウォールはすべて解除し、丸裸の状態です。 この投稿は別のノートパソコンで書いているのですが、こちらでは問題なくインターネットが利用できるため、ルータやモデムが悪いとも思えず…… HTTP接続だけができないというのは、非常に不便です。 どうすれば解消できるのでしょうか? どうか、お力をお貸し下さい……

  • FTP,HTTPS系のプロトコルが通りづらい

    お世話になります。 当方、YBB-Reachに切り替え、FTP、HTTPS系のプロトコルでの通信がほとんどできない状態です。ほとんどできないというのは、全くできないというのではなく、ダウンロードする際のブラウザーのインジケータを見ると、たまに、10KBぐらい進み、ずーーっと止まって、また数十KB進むと言った形です。結果的には、エラーで終了してしまいます。 ちなみに、HTTPなどは、600Kbps程度は出ていそうです。 どなたか、原因、対策方法を教えていただけるとありがたいのですが・・・ 環境は、 WinMe Pentium3-800 256MB IE、 です。 ブラウザーとしては、NetScape、Operaでもチェックしました。

  • JSSEを使用したProxy経由のHTTPS通信について

    いつもお世話になっております。 タイトルの件で質問させてください。 現在JSSEを使用しProxy経由のHTTPS通信するJavaアプリケーションを作成しています。 具体的な動作としては指定のURLのソースをテキストエリアに表示させるだけ なのですが、手こずっています。 インターネット上においてHTTP通信は成功するのですが、HTTPSの場合エラー が発生します。 →ERROR: The requested URL could not be retrieved (上記はエラーの一部です。これはHTML形式でかえってきます。) 試しにイントラネット上にてHTTPS通信をしてみました。 (もちろんProxyは経由しません。) サーバはWeblogicServer6.1Jを使用し、HTTPS通信を試みたのですが下記の ようなExxeptionが発生します。 ちなみにWeblogicは普通にインストールして起動しただけで、特に何もしていません。 javax.net.ssl.SSLException: untrusted server cert chain at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a([DashoPro-V1.2-120198]) (以下略) Weblogicに最初からくっついてくる認証ファイル(?)をどこかに置くとかそういう ことで解決できるのでしょうか? 解決方法をご存じの方はご教授下さい。 --開発環境-- OS:Win2k sp2 IDE:JBuilder5 Personal(JDK1.3.0_2)   Sun JSSE1.0.2を使用 --WeblogicServer-- OS:Win2k sp2 webserver:WeblogicServer6.1J

    • ベストアンサー
    • Java
  • HTTPでフォームを送信したい

    JavaScriptで書かれた認証文字数チェックがある ユーザIDやパスなどの入力フォームを 本来サブミットで送信する内容を HTTPでPOSTまたはGETして、直接cgiにフォーム内容を 送信したいのですがその様なことは可能でしょうか? 可能でしたら方法やその理屈を教えていただけません でしょうか? 理由 通常ブラウザでアクセスするページを 専用のクライアントを作成し通信したいため submit形式のフォームをPOSTかGETで処理したい。

  • WinInet.dll で HTTPS へ POST できません

     WinInet.dll を使って、HTTPS サーバーへデータを POST するプログラムを作っています。開発言語は VB6 です。  HttpSendRequest で 12029 エラーとなり原因が分かりません。  HTTP 通信テストツールの RESTTEST を使ったテストでは正常に終了しています(HTTPステータス 200 が返っている)ので、回線やインターネット設定(ファイヤーウォールの問題など)は問題ないと思われます。  ソースから手続きの部分だけ抜き出して、下記に示します。  (エラーチェックなどはソース上にはありますが、ここでは省いています)  手続き上何か抜けが無いかご指摘いただけると助かります。   'インターネットサービスをオープンする   lngWinINet = InternetOpen(vbNullString, _                INTERNET_OPEN_TYPE_PRECONFIG, _                vbNullString, _                vbNullString, _                0)   'HTTPサーバへ接続   lngHttpHnd = InternetConnect(lngWinINet, _                  "www.test.jp", _                  INTERNET_DEFAULT_HTTPS_PORT, _                  vbNullString, _                  vbNullString, _                  INTERNET_SERVICE_HTTP, _                  0, _                  0)   'リクエストを初期化   Dim tmpURL As String * 255   Dim lngSecFlag As Long   lngSecFlag = INTERNET_FLAG_SECURE Or _          INTERNET_FLAG_IGNORE_CERT_CN_INVALID Or _          INTERNET_FLAG_IGNORE_CERT_DATE_INVALID   tmpURL = "/testdir/test.php"   lngReqHnd = HttpOpenRequest(lngHttpHnd, _                 "POST", _                 tmpURL, _                 "HTTP/1.1", _                 vbNullString, _                 0, _                 INTERNET_FLAG_RELOAD Or lngSecFlag, _                 0)   'リクエストを送信   Dim strHeader As String   Dim strPostData As String   strHeader = "Content-Type: application/x-www-form-urlencoded"   strPostData = "TEST1=aaa&TEST2=bbbbb"   Call HttpSendRequest(lngReqHnd, _              strHeader, _              Len(strHeader), _              strPostData, _              Len(strPostData))  手続き部分は、順番も含めて上記の通りです。  これ以外のことはやっていません。  これ以外にやっておかなければいけないことや、上記のやり方ではよくない部分などありましたら、ご教授いただけると助かります。  よろしくお願いします。

  • SSL通信の設定について教えてください!

    メールソフトでgmialを読み込んだのですが、 送受信をクリックすると、受信が正常に行われるので、 ちゃんとgmailと同期できていると思うのですが、 テスト送信(普通の送信でも)しようとすると、 「SSL通信を開始しようとしましたが、何らかの原因で通信が確立しませんでした。」 というエラーが出てしまいます。 メールソフトの方では、受信も送信も「over SSL 3.0」で設定しています。 メールソフトではSSLの設定はそこだけのようなので、 おそらくgmail側の設定のどこかがおかしいのかなと思います。 このようなエラーが出てしまう理由は何が考えられるでしょうか?

  • VC++のHTTP通信

    VC++2010でHTTP通信のサンプルプログラムを走らせてみたのですが、どうも上手く行きません。 ソースは以下の通りです。 #include <stdio.h> #include <winsock2.h> int main() { WSADATA wsaData; LPHOSTENT lpHost; SOCKET s; int nRtn; SOCKADDR_IN sockadd; char szServer[256], szURL[256], szStrRcv[1024], szPort[8]; char szStr[256], szYN[4]; u_short port; unsigned int addr; while (1) { // WinSockを初期化 if (WSAStartup(MAKEWORD(1, 1), &wsaData) != 0) { perror("WSAStartupエラーです\n"); return -1; } // サーバ名、ポート番号、ファイル名を取得 printf("Webサーバ名----"); gets_s(szServer); printf("ポート番号----"); gets_s(szPort); if (strcmp(szPort, "") == 0) strcpy_s(szPort, "80"); port = (u_short)atoi(szPort); printf("ファイル名----"); gets_s(szURL); if (strcmp(szURL, "") == 0) strcpy_s(szURL, "/"); // ソケットをオープン s = socket(PF_INET, SOCK_STREAM, 0); if (s == INVALID_SOCKET) { perror("ソケットをオープンできません\n"); WSACleanup(); return -2; } // ホスト名からホスト情報を取得 lpHost = gethostbyname(szServer); if (lpHost == NULL) { // アドレスを表す文字列を数値表現に変換 addr = inet_addr(szServer); // ネットワークアドレスからホスト情報を取得 lpHost = gethostbyaddr((char *)&addr, 4, AF_INET); if (lpHost == NULL) { wsprintf(szStr, "%sが見つかりません\n", szServer); perror(szStr); WSACleanup(); return -3; } } // SOCKADDR_IN構造体に必要事項をセット memset(&sockadd, 0, sizeof(sockadd)); sockadd.sin_family = AF_INET; sockadd.sin_port = htons(port); sockadd.sin_addr = *((LPIN_ADDR)*lpHost->h_addr_list); // ソケットに接続 if (connect(s, (PSOCKADDR)&sockadd, sizeof(sockadd)) != 0) { perror("サーバソケットに接続失敗\n"); closesocket(s); WSACleanup(); return -4; } // GETリクエストを送信 wsprintf(szStr, "GET %s HTTP/1.0\r\n\r\n", szURL); nRtn = send(s, szStr, (int)strlen(szStr), 0); while(1) { // 受信用バッファ(szStrRcv)をゼロクリア memset(szStrRcv, '\0', sizeof(szStrRcv)); // データを受信 nRtn = recv(s, szStrRcv, (int)sizeof(szStrRcv) - 1, 0); // 受信したデータを標準出力に書き出す printf("%s", szStrRcv); if (nRtn == 0) break; if (nRtn == SOCKET_ERROR) { perror("recvエラーです\n"); break; } } if (shutdown(s, SD_BOTH) != 0) { // シャットダウン perror("シャットダウンに失敗しました\n"); } closesocket(s); // ソケットをクローズ WSACleanup(); // WinSockのリソースを解放 printf("\nもう一度実行しますか(Y/N)----"); gets_s(szYN); if (strcmp(szYN, "n") == 0 || strcmp(szYN, "N") == 0) break; } return 0; } 例えば、ttp://kumei.jp/c_lang/を開こうしとて、 kumei.jp 80 /c_lang/index.html と入力した場合は上手くレスポンスが帰ってきますが、 googleに接続しようと思い、 www.google.co.jp 80 / と入力すると 302 Moved と帰ってきます。 しかし www.google.co.jp 80 www.google.co.jp と入力した場合は問題なくgoogleのトップページが帰ってきます。 また、ttp://hako.gob.jp/にアクセスしようとして、 hako.gob.jp 80 /index.html と入力した場合 DOMAIN ERROR が帰ってきます。 さらに、 hako.gob.jp 80 hako.gob.jp と入力すると 400 エラーが帰って来ました。 私はwindowsプログラムに関しては全くの素人で分からない事だらけの状態です。できるだけ分り易く書いて頂けると嬉しいです。私が教えて頂きたいことは以下のことです。 ・サイト(通信相手?)による違いはどこで生まれるのでしょうか? ・また、正しくはどのように入力すれば良いのでしょうか?それはどうすれば分かるのでしょうか? ・アドレスを指定しただけであとはプログラムに自動で判断してもらうにはどうすれば良いでしょうか? ・そもそも、このプログラムでは根本的に不可能な事をやろうとしているのでしょうか?もしそうであった場合どうすれば良いでしょうか? 質問だらけで申し訳ありません。誰か分かる方がいらっしゃれば教えて下さい。

  • httpへのアクセスをhttpsに変えたい

    書き込みさせていただきます。 サイトのフォーム部分のみ、httpではなくhttpsで接続したいです。 .htaccessに下記を記述し、フォームがあるディレクトリにアップロードしました。 ※下記サイトを参考にしました。 http://d.hatena.ne.jp/mrgoofy33/20100914/1284414817 RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] しかし、アップロードすると https://www.xxxxxx.jp/form/を開けません。 サーバ"www.xxxxxx.jp"にセキュリティ保護された接続を確立できません。 と出て、表示されません。 何か記述は間違っていますか? よければ、アドバイスお願いいたします。

  • .htaccessで携帯アクセスを非SSLに振り分け

    CGI送信フォームを入れたのですが、(さくらの共有SSLにて) パソコンからの送信はなんとか可能になりましたが、 モバイルからはSSL通信が拒否されアクセスすらできません。 とっても困りました・・・((+_+)) そのため、モバイルのアクセスだけを非SSLにしようと考えました。 この考えは正しいですか? パソコン  https://****.sakura.ne.jp/form.html モバイル  http://****.sakura.ne.jp/form.html 上記の様に .htaccessで携帯のアクセスだけを非SSLにしようと思いますが 今のフォームをそのままにしておいて モバイルアクセスを非SSLのhtppに飛ばす事が可能ですか? その場合、.htaccessにどう書いたら良いでしょうか? お願いします<(_ _)> また、その場合 現在、トップページのリンクは、https://~ のままですが .htaccessで振り分ければ、このままのリンクで大丈夫でしょうか?