HTTPリクエスト

この例を説明するには、まずHTTPの基本について説明します。これはインターフェースの動作を理解するために重要です。

基礎知識

次の点に注意してください:

  • HTTP経由でのリクエストでは、サーバーが接続を切断するまで、クライアントから接続が確立されます。
  • ポート80(HTTP暗号化なし)およびポート443(HTTPS暗号化あり)を使用してTCP経由で照会します。
  • http://を使用する場合はポート80、https://を使用する場合はポート443が非表示になります。
  • HTTP/1.1以降では接続層が変更されており、TCPのハンドシェイクを回避するために一定時間接続がオープン状態に保たれます。これはAntcasモニターで確認できません。ただし、タイムアウト後にクライアント(つまりAntcasサーバー)から接続が切断されます。したがって、タイムアウトは適切に高く設定する必要があります。
  • 各照会は完全に後方互換性があります。サーバーがHTTP/1.0、HTTP/1.1、またはHTTP/2をサポートしているかどうかは問題ありません。
  • ヘッダーは大文字と小文字を区別しません。これは大文字と小文字の区別が重要ではないことを意味します。ただし、一部のメーカーではこれを正しく実装していない場合があります。
  • Antcas Controlの文字コードは常にUTF-8です。他の文字コードを使用する場合は、必要に応じて変換する必要があります。
  • URLを含むクエリの最大長は2'083文字です。

URLの構造は次のようになります:

http://server.tld/getdata?project=you%26i+project&id=25#anker
コンポーネント 意味
http:// プロトコルを定義します。Antcas Controlは現在、httpとhttpsをサポートしています。
server.tld 目的のサーバーのドメイン(DNS)またはIPアドレスを定義します。
getdata これはサーバーのURIです。これはパスに似た目的ページに対応します。
?[...] この?はURLをいわゆるGETリクエストから分離し、その後にすべてのフォームデータ(クエリとも呼ばれます)が続きます。クエリは常にエンコードされ、サポートされていない文字を置換するために使用されます。
#[...] この#記号はページ上のアンカーを定義します。これにより、任意の位置(スクロール)にジャンプできます。これらのデータはサーバーに送信されません。また、この領域を含む#を照会にコピーしてはいけません。そうしないと、サーバー上で別の目的ページが呼び出されます。

目的サーバーの設定は対応するHTTPゲートウェイで行います。

照会の構造

照会の構造にはヘッダーとボディが含まれます。ヘッダーの最初の行には常に使用されるメソッド、URI、およびプロトコルが表示されます。

GET /getdata?project=you%26i+project&id=25 HTTP/1.1
Host: server.tld

その後にサーバーの応答が続きます。この応答には照会のステータスコードが含まれます。ボディは空行でヘッダーに続きます。

HTTP/1.1 200 OK
Server: Apache2
Content-Type: text/html

<html>Hallo Welt</html>

ステータスコード

ステータスコードはグループに分類されます。最初の桁でグループが定義されます。また、数字の後に意味を平文で示します。以下にいくつか例を挙げます:

ステータス 説明
200 OK 照会が成功しました。
301 Found 実際のページへのリダイレクト。Antcas Controlはリンクに従うため、この応答は通常非表示になります。
404 Not Found 指定されたページが見つかりませんでした。
500 Internal Server Error サーバーエラーが発生しました。

メソッド

GETおよびPOSTメソッドは最も頻繁に使用されます。

メソッド 説明
GET GET照会は標準照会です。この照会はコンテンツをサポートしません。
POST POST照会はコンテンツをサーバーに送信します。コンテンツが空でもかまいません。利点は、コンテンツに長さの制限がないことです。GET照会では、特定の数のデータのみを転送できます。
PUT PUTはインターフェースで情報を交換するために使用されます。
DELETE PUTとともに、データを削除するために使用されます。
(その他) 他のHTTPメソッドもサポートされていますが、適切な設定が必要です。

認証

ほとんどの認証はヘッダーで行われます。ただし、クエリまたはコンテンツで定義される照会もあります。

実際の照会の前にセッションを作成する必要がある場合があります。このセッションはヘッダーSet-Cookieとして設定されます。このCookieを再度渡す必要があります。Cookieの内容は大文字と小文字を区別します。これは内容が1対1で渡される必要があることを意味します。以下に簡略化された例を示します:

POST /login HTTP/1.1
Host: server.tld

username=myname&password=1234

サーバーの応答:

HTTP/1.1 200 OK
Server: Apache2
Content-Type: text/html
Set-Cookie: SESSION=vmvbquk7dq6dbbcq

次に、Cookieを次の照会で再利用できます:

GET /opendoor HTTP/1.1
Host: server.tld
Cookie: SESSION=vmvbquk7dq6dbbcq

ヒント

ブラウザの開発者コンソールでは、ネットワークで照会を評価してテストできます。また、ヘッダーをコピーまたは表示することが時には有用です。

設定

Antcas Controlでは、HTTPインターフェースにゲートウェイを作成します。このゲートウェイはHTTPクライアントとして設定されます。ここで目的のアドレスとポート(必須)が適切に入力されます。その後、構造内で照会が設定されます。ここでは通信でURLを変数として登録します。

簡単な照会

簡単な照会を作成するには、任意のデータ型を選択します。これは好ましくは文字列(string)です。出力で値が変更されると、既に照会が実行されます。その値はクエリとして直接使用されます。

複雑な照会

より複雑な照会はHTTP_REQUEST機能ブロックを使用して作成します。そのためには通信のデータ型をrawに設定する必要があります。応答はその後、HTTP_RESPONSE機能ブロックを使用して評価できます。照会のIDを必ずリンクする必要があり、要求への応答を正しく割り当てるためです。

この例では、GETメソッドを使用してデータをサーバーに送信し、応答を評価します。完全なURLは次のようになります:

http://server.tld/getdata?project=you%26i+project&id=25

サーバーからデータを取得または送信するには、次の例が使用されます:

注意: この例では、リクエストをトリガーする方法が示されていません。これは入力SETの正のエッジでトリガーされます。意図しない照会を防ぐために、入力DISはTRUEに設定する必要があります。

インターフェースの設定は次のように行います: