2012 keynote-2

Preview:

DESCRIPTION

フォーディー・デベロッパー・カンファレンス in 東京秋葉原 Part 3(2012年)

Citation preview

ソースツールキット

ソースツールキット

新しいコマンドテーマ (カテゴリー)

ソースツールキットMETHOD GET PATHS METHOD RESOLVE PATH METHOD Get path METHOD GET NAMES METHOD GET NAMES FORM METHOD GET PATHS FORM METHOD GET MODIFICATION DATE METHOD SET ACCESS MODE METHOD GET FOLDERS METHOD OPEN PATH

新しいコマンドテーマ (カテゴリー)

ソースツールキットbullメソッド

ソースツールキット全タイプbullメソッド

ソースツールキット全タイプbullメソッド プロジェクトメソッド

フォームメソッド オブジェクトメソッド トリガ データベースメソッド

ソースツールキット全タイプ

GetSetbullメソッド

ソースツールキット全タイプ

GetSet

パス

bullメソッド

ソースツールキット全タイプ

GetSet

パス

bullメソッド

[Invoices]input_formsave[trigger]Invoicesrdquo[databasemethod]onSystemEvent

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコンテキスト フォルダ

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

フィルタリング

bullメソッド

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコメントbullコンテキストbullメソッド

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性bull

ソースツールキット

bullコンテキストbullコメントbull属性

bullメソッド

bull

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキット

新しいコマンドテーマ (カテゴリー)

ソースツールキットMETHOD GET PATHS METHOD RESOLVE PATH METHOD Get path METHOD GET NAMES METHOD GET NAMES FORM METHOD GET PATHS FORM METHOD GET MODIFICATION DATE METHOD SET ACCESS MODE METHOD GET FOLDERS METHOD OPEN PATH

新しいコマンドテーマ (カテゴリー)

ソースツールキットbullメソッド

ソースツールキット全タイプbullメソッド

ソースツールキット全タイプbullメソッド プロジェクトメソッド

フォームメソッド オブジェクトメソッド トリガ データベースメソッド

ソースツールキット全タイプ

GetSetbullメソッド

ソースツールキット全タイプ

GetSet

パス

bullメソッド

ソースツールキット全タイプ

GetSet

パス

bullメソッド

[Invoices]input_formsave[trigger]Invoicesrdquo[databasemethod]onSystemEvent

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコンテキスト フォルダ

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

フィルタリング

bullメソッド

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコメントbullコンテキストbullメソッド

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性bull

ソースツールキット

bullコンテキストbullコメントbull属性

bullメソッド

bull

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキットMETHOD GET PATHS METHOD RESOLVE PATH METHOD Get path METHOD GET NAMES METHOD GET NAMES FORM METHOD GET PATHS FORM METHOD GET MODIFICATION DATE METHOD SET ACCESS MODE METHOD GET FOLDERS METHOD OPEN PATH

新しいコマンドテーマ (カテゴリー)

ソースツールキットbullメソッド

ソースツールキット全タイプbullメソッド

ソースツールキット全タイプbullメソッド プロジェクトメソッド

フォームメソッド オブジェクトメソッド トリガ データベースメソッド

ソースツールキット全タイプ

GetSetbullメソッド

ソースツールキット全タイプ

GetSet

パス

bullメソッド

ソースツールキット全タイプ

GetSet

パス

bullメソッド

[Invoices]input_formsave[trigger]Invoicesrdquo[databasemethod]onSystemEvent

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコンテキスト フォルダ

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

フィルタリング

bullメソッド

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコメントbullコンテキストbullメソッド

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性bull

ソースツールキット

bullコンテキストbullコメントbull属性

bullメソッド

bull

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキットbullメソッド

ソースツールキット全タイプbullメソッド

ソースツールキット全タイプbullメソッド プロジェクトメソッド

フォームメソッド オブジェクトメソッド トリガ データベースメソッド

ソースツールキット全タイプ

GetSetbullメソッド

ソースツールキット全タイプ

GetSet

パス

bullメソッド

ソースツールキット全タイプ

GetSet

パス

bullメソッド

[Invoices]input_formsave[trigger]Invoicesrdquo[databasemethod]onSystemEvent

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコンテキスト フォルダ

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

フィルタリング

bullメソッド

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコメントbullコンテキストbullメソッド

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性bull

ソースツールキット

bullコンテキストbullコメントbull属性

bullメソッド

bull

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキット全タイプbullメソッド

ソースツールキット全タイプbullメソッド プロジェクトメソッド

フォームメソッド オブジェクトメソッド トリガ データベースメソッド

ソースツールキット全タイプ

GetSetbullメソッド

ソースツールキット全タイプ

GetSet

パス

bullメソッド

ソースツールキット全タイプ

GetSet

パス

bullメソッド

[Invoices]input_formsave[trigger]Invoicesrdquo[databasemethod]onSystemEvent

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコンテキスト フォルダ

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

フィルタリング

bullメソッド

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコメントbullコンテキストbullメソッド

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性bull

ソースツールキット

bullコンテキストbullコメントbull属性

bullメソッド

bull

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキット全タイプbullメソッド プロジェクトメソッド

フォームメソッド オブジェクトメソッド トリガ データベースメソッド

ソースツールキット全タイプ

GetSetbullメソッド

ソースツールキット全タイプ

GetSet

パス

bullメソッド

ソースツールキット全タイプ

GetSet

パス

bullメソッド

[Invoices]input_formsave[trigger]Invoicesrdquo[databasemethod]onSystemEvent

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコンテキスト フォルダ

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

フィルタリング

bullメソッド

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコメントbullコンテキストbullメソッド

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性bull

ソースツールキット

bullコンテキストbullコメントbull属性

bullメソッド

bull

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキット全タイプ

GetSetbullメソッド

ソースツールキット全タイプ

GetSet

パス

bullメソッド

ソースツールキット全タイプ

GetSet

パス

bullメソッド

[Invoices]input_formsave[trigger]Invoicesrdquo[databasemethod]onSystemEvent

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコンテキスト フォルダ

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

フィルタリング

bullメソッド

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコメントbullコンテキストbullメソッド

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性bull

ソースツールキット

bullコンテキストbullコメントbull属性

bullメソッド

bull

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキット全タイプ

GetSet

パス

bullメソッド

ソースツールキット全タイプ

GetSet

パス

bullメソッド

[Invoices]input_formsave[trigger]Invoicesrdquo[databasemethod]onSystemEvent

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコンテキスト フォルダ

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

フィルタリング

bullメソッド

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコメントbullコンテキストbullメソッド

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性bull

ソースツールキット

bullコンテキストbullコメントbull属性

bullメソッド

bull

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキット全タイプ

GetSet

パス

bullメソッド

[Invoices]input_formsave[trigger]Invoicesrdquo[databasemethod]onSystemEvent

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコンテキスト フォルダ

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

フィルタリング

bullメソッド

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコメントbullコンテキストbullメソッド

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性bull

ソースツールキット

bullコンテキストbullコメントbull属性

bullメソッド

bull

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコンテキスト フォルダ

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

フィルタリング

bullメソッド

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコメントbullコンテキストbullメソッド

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性bull

ソースツールキット

bullコンテキストbullコメントbull属性

bullメソッド

bull

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキット

bullコンテキスト フォルダ

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

フィルタリング

bullメソッド

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコメントbullコンテキストbullメソッド

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性bull

ソースツールキット

bullコンテキストbullコメントbull属性

bullメソッド

bull

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキット

bullコンテキスト フォルダ

フォーム名

bullメソッド

ソースツールキット

bullコンテキスト フォルダ

フォーム名

フィルタリング

bullメソッド

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコメントbullコンテキストbullメソッド

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性bull

ソースツールキット

bullコンテキストbullコメントbull属性

bullメソッド

bull

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキット

bullコンテキスト フォルダ

フォーム名

フィルタリング

bullメソッド

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコメントbullコンテキストbullメソッド

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性bull

ソースツールキット

bullコンテキストbullコメントbull属性

bullメソッド

bull

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキット

bullコンテキストbullメソッド

ソースツールキット

bullコメントbullコンテキストbullメソッド

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性bull

ソースツールキット

bullコンテキストbullコメントbull属性

bullメソッド

bull

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキット

bullコメントbullコンテキストbullメソッド

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性bull

ソースツールキット

bullコンテキストbullコメントbull属性

bullメソッド

bull

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性bull

ソースツールキット

bullコンテキストbullコメントbull属性

bullメソッド

bull

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性bull

ソースツールキット

bullコンテキストbullコメントbull属性

bullメソッド

bull

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキットbullメソッドbullコンテキストbullコメントbull属性bull

ソースツールキット

bullコンテキストbullコメントbull属性

bullメソッド

bull

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキット

bullコンテキストbullコメントbull属性

bullメソッド

bull

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキット

bullコンテキストbullコメントbull属性

リモートモード でもOK

bullメソッド

bull

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースコードの取り出しbullソースツールキッド

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースコードの取り出しbullソースツールキッド

bull任意のバージョンコントロールシステム

bullバージョン管理 vs 履歴

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキット望み通りの開発ツールが設計できます

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ソースツールキット望み通りの 開発ツールが設計できます素晴らしい

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

新しいWebサーバーベンチマーク

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

v13 Webサーバーは

新しいWebサーバーベンチマーク

驚異的

信じられない

____

体ど

うなってい

るの

15ディスカウント2月1日まで

超高速

スピード違反

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

新しいWebサーバーv12 vs v13

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

新しいWebサーバーv12 vs v13

v12

41

(リクエスト秒)

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

新しいWebサーバーv12 vs v13

v12 v13

41

169(リクエスト秒)

x4

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

新しいWebサーバーモダンなデザイン

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

新しいWebサーバー

bullUnicodebull Carbon 不使用bull プリエムプティブbull IPV6bull RFC準拠bull

モダンなデザイン

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

Webサーバー再開発計画

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

bull無駄を省いて高出力 bull自由にチューニング bull一体型

自作の強み

Webサーバー再開発計画

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

bull簡単 設定簡単 管理簡単 運用

bullパフォーマンス重視

必要に応えるものに

Webサーバー再開発計画

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ネットワークレイヤー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ネットワークレイヤー

IPX AppleTalk

Mac

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ネットワークレイヤー

TCPIPIPX AppleTalk

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

TCPIPIPX AppleTalk

SSL

Mac Windows

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

ネットワークレイヤーbull機能の絞り込み TCPIP

POSIXソケット

bullエラー処理 bull保守の容易性

POSIXソケット

TCPIP

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

速度の追求

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

速度の追求bull圧縮 gzip 自動

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

速度の追求bull圧縮 gzip 自動

bullキャッシュ

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

速度の追求bull圧縮 gzip 自動

bullキャッシュbullプリエンムティブ

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

Webサーバー

CPU CPUCPU CPU

v12

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

Webサーバー

CPU CPUCPU CPU

v12

CPU

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

Webサーバー

CPU CPUCPU CPU

v13

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

Webサーバー

CPU CPUCPU CPU

v13

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

リクエスト

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

解析

スタティック

キャッシュのチェック (圧縮)

結果を送信

プリエムティブスレッド

リクエスト

ダイナミック

コオペラティブスレッドのプールに転送

完了するまで停止

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

v12 vs v13 ベンチマーク

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

新しいWebサーバー

v12 v13

41

169

x4

v12 vs v13

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

新しいWebサーバー

v12 v13

41

169

x4

2 コア

v12 vs v13スタティックページ リクエスト秒

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

新しいWebサーバー

v12 v13

41

169

x4

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

新しいWebサーバー

v12 v13

41

169

x4

482

x12

2 コアv13

v12 vs v13スタティックページ リクエスト秒

4 コア

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

スタティック 対 ダイナミック

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS HTML TAGS

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

スタティック 対 ダイナミック

bullスタティックリクエスト スピード重視

bullテンプレート

bullPROCESS 4D TAGS

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

コマンド

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

コマンドbullWEB get body parts count

bullWEB GET BODY PART

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

新しいWebサーバー

まだまだ続く

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if C_TEXT($1$value)

C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0) $L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else $0=Substring($value$L_pos1+1)

End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUIDは自動的に発行行される SelectionsToSession SAVE RECORD([Sessions]) このセッションIDでクッキーをセット T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

SelectionsToSession

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifEnd if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

web_DoNewSession

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

SelectionsToSession

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

If($1=cart) GET HTTP HEADER$idx=If ($idxgt0) T_sessionID=

End ifIf(T_sessionID=) web_DoNewSession

End ifCase of ($1=cart_addTo)

Web_AddToCart (other cases) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) カートの内容を更更新

Web_AddToCart

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

C_TEXT($1$value) C_TEXT($0) C_LONGINT($L_pos1$L_pos2) $value=$1 $L_pos1=Position(MYCOOKIE=$value) If ($L_pos1gt0)

$L_pos2=Position($value$L_pos1+1) If ($L_pos2gt0) $0=Substring($value$L_pos1+11$L_pos2-$L_pos1-1) Else

$0=Substring($value$L_pos1+1) End if $0=s_CleanupWebStr($0)

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders]) CREATE RECORD([Sessions]) UUID is automatically generated SelectionsToSession SAVE RECORD([Sessions]) Set a cookie with this session UID T_sessionID=[Sessions]SessionUID $T_header=Set-Cookie MYCOOKIE=+ T_sessionID SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content ARRAY LONGINT($rL_recNums0) VARIABLE TO BLOB($rL_recNums[Sessions]Content)

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) SET BLOB SIZE([Sessions]Content0) LONGINT TO BLOB(Record number([Customers])[Sessions]Content LONGINT TO BLOB(Record number([Orders])[Sessions]Content VARIABLE TO BLOB($rL_recNums[Sessions]Content) SAVE RECORD([Sessions]) ARRAY TEXT($rT_names0) RELATE ONE SELECTION([OrderLines][Products]) SELECTION TO ARRAY([Products]Name$rT_names) return the result

If($1=cart) GET HTTP HEADER($headers$values) $idx=Find in array($headerscookie) If ($idxgt0) T_sessionID=web_GetSessionCookie ($values$idx)

End if If(T_sessionID=) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

If($1=cart) If(T_sessionIDWEB Get current session ID) web_DoNewSession

End if Case of ($1=cart_addTo)

Web_AddToCart($1) (その他) End case

End if

$L_custID=web_L_CustIDFromQueryStr ($T_url) QUERY([Customers][Customers]ID=$L_custID) CREATE RECORD([Orders]) [Orders]CustomerID=$L_custID SAVE RECORD([Orders])

$T_url=$1 $L_productID=web_L_ProductIDFromQueryStr ($T_url) ARRAY LONGINT($rL_recNums0) LONGINT ARRAY FROM SELECTION([OrderLines]$rL_recNums) CREATE RECORD([OrderLines]) [OrderLines]OrderID=[Orders]ID [OrderLines]ProductID=$L_productID SAVE RECORD([OrderLines]) APPEND TO ARRAY($rL_recNumsRecord number([OrderLines])) CREATE SELECTION FROM ARRAY([OrderLines]$rL_recNums) ARRAY TEXT($rT_names0) SELECTION TO ARRAY([Products]Name$rT_names) return the result

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

セッション管理

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

セッション管理bull自動処理bull各種設定 bull WEB GETSET OPTION bull Webserver Keep session bull Webserver inactive session timeout bull Webserver Max sessions bull Webserver Session cookie name

bull微調整も bull WEB CLOSE SESSION bull データベースメソッド On Web Session Suspend

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

v13 新しいWebサーバーbullモダンでスタイリッシュ bull簡単 ~セットアップから運用まで~ bullパフォーマンス重視 bullセッション管理

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

とにかくスゴイ

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

HTTP クライアント

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

HTTP クライアント

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

HTTP クライアントbullHTTP Get

$resp=HTTP Get($url$result)

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

HTTP クライアントbullHTTP Get

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

HTTP クライアントbullHTTP Get

bullHTTP Request

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

HTTP クライアントbullHTTP Get

bullHTTP Request DELETE13GET13HEAD13OPTIONS13POST13PUT13TRACE

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

HTTP クライアントbullHTTP Get

bullHTTP Request

bullHTTP GETSET OPTION

bull認証プロキシ(システム設定)

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

HTTP クライアント

デモンストレーション

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

HTTP クライアント

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

HTTP クライアントとっても簡単

HTTP クライアント

HTTP クライアント

新しいWebサーバー

HTTP クライアント

HTTP クライアント

新しいWebサーバー

HTTP クライアント

新しいWebサーバー