Web開発のための基礎知識

HTTPサーバーの起動の前に

HTTPサーバーもTCP/IP App のひとつですから HTTPサーバーが動作する前提としては TCP/IPが
起動されていなくてはなりません。

【 TCP/IPの起動 】

STRTCP[実行キー] によって TCP/IPが開始されます。

V5R1M0 以前であればユーザーが明示的に STRTCP を行う必要がありました。
V5R1M0 以降は OS/400によって自動的に STRTCP が実行されますがSTRTCP が実行されるのは
スタートアップPGM : QSTRUP が実行された後であることに注意してください。

OS/400付属のHTTPサーバーなどでは問題ありませんが Chicago やSpoolライターのTCP/IPサーバーを
QSTRUP に入れただけではSTRTCPQSTRUP の中では実行されていないためエラーとなって
サーバーを起動できません。
Chicago や Spoolライターを使用するときは QSTRUP にやはり明示的にSTRTCP を指定する必要があります。

QSTRUP の例は こちら

【 TCP/IP の操作 】

TCP/IPを扱う上で重要なコマンドは次の二つです。

GO TCPADMTCP/IP のすべての操作を実行するメニュー
NETSTATSystem iのネットワークや接続状況を調べます
● GO TCPADM の画面 ●
    TCPADM                    TCP/IP 管理                           
                                               システム :   103NG3M 
   
    次の1つを選択してください。                                    
                                                                    
         1. TCP/IP の構成                                           
         2. TCP/IP 適用業務の構成                                   
         3. TCP/IP の開始                                           
         4. TCP/IP の終了                                           
         5. TCP/IP サーバーの開始                                   
         6. TCP/IP サーバーの終了                                   
         7. TCP/IP ネットワーク状況の処理                           
         8. TCP/IP 接続の検査                                       
         9. TCP/IP FTP セッションの開始                             
        10. TCP/IP TELNET セッションの開始                          
        11. TCP/IP スプール・ファイルの送信                         
                                                                    
        20. QSYSWRK サブシステムの TCP/IP ジョブの処理              
                                                                    
                                                                    
    選択項目またはコマンド                                          
    ===> 
● NETSTAT の画面 ●
                            TCP/IP ネットワーク状況の処理                          
                                                             システム :   S652DAEC 
    次の1つを選択してください。                                                   
                                                                                   
         1. TCP/IP インターフェース状況の処理                                      
         2. TCP/IP 経路情報の表示                                                  
         3. TCP/IP 接続状況の処理                                                  
         4. IPV6 インターフェース状況の処理                                        
         5. IPV6 経路情報の表示                                                    
         6. IPV6 接続状況の処理                                                    
                                                                                   
    選択項目またはコマンド                                                         
    ===>                                                                           
                                                                                   
    F3= 終了   F4= プロンプト   F9=テu]n゙ の複写   F12= 取り消し                    

特に NETSTAT は頻繁に利用します。
例えば System iのIPアドレスを調べるには NETSTAT「 1. TCP/IP インターフェース状況の処理」

                          TCP/IP インターフェース状況の処理                        
                                                             システム :   S103NG3M 
   
    オプションを入力して,実行キーを押してください。                               
      5= 明細の表示   8= 関連経路の表示   9= 開始   10= 終了   12= 構成状況の処理  
      14=マルチキャスト・グループ の表示                                                     
                                                                                   
                                                                                   
    OPT  IP  アドレス     ネットワーク・アドレス      回線記述   インターフェース  状況              
         127.0.0.1        127.0.0.0        *LOOPBACK    活動状態                   
         192.168.1.5      192.168.1.0      ETHLIN       活動状態                   
         218.44.135.18    218.44.135.16    ETHOUTLINE   活動状態                   

構内LAN回線に接続されているSystem iのIPアドレスが、そのSystem iのIPアドレスであると見なすことが
できます。
上記の画面表示では構内LAN回線記述 ETHLIN に繋がっているのは 192.168.1.5であり、外部LAN回線記述に
接続されているのは 218.44.135.18 です。

またPORT別の接続状況を調べるには「3. TCP/IP 接続状況の処理」

                                TCP/IP 接続状況の処理                              
                                                             システム :   S103NG3M 
    オプションを入力して,実行キーを押してください。                               
      3= デバッグ使用可能   4= 終了   5= 明細の表示   6= デバッグ使用不可          
      8= ジョブの表示                                                              
                                                                                   
                                                    アイドル                          
    OPT  リモート・アドレス       リモート・ポート  ローカル・ポート      時間    状態                   
         *                *          21         005:38:53   接続待機               
         *                *          23         000:08:14   接続待機               
         *                *          80         000:00:13   接続待機               
         *                *          137        005:34:48   接続待機               
         *                *          137        000:00:03  *UDP                    
         *                *          138        000:00:03  *UDP                    
         *                *          139        005:34:42   接続待機               
         *                *          161        005:35:14  *UDP                    
         *                *          389        005:30:16   接続待機               
         *                *          445        005:34:41   接続待機               
         *                *          446        005:39:16   接続待機               
         *                *          447        005:39:16   接続待機               

によって「ローカル・ポート」に接続待機されているのは、TCP/IP AppサーバーがそのPORT番号で接続待機として
バインドされていることを意味します。
PORTとは TCP/IPが外部の TCP/IP App と通信するための接続口のことです。

例えばこの例ではローカル・ポート 80 番に接続待機となっているのはHTTPサーバーが既に待機中であることを意味しています。
なぜならば PORT= 80 は通常は HTTPサーバーが使用するPORTであるとの暗黙の了解があるからです。