Gemini App Developer Guide [main]

Added a few notes

a27ba8e6e27735db67b7d394af59dac532bd96c7
diff --git a/app-guide.gmi b/app-guide.gmi
index 797af94..d673877 100644
--- a/app-guide.gmi
+++ b/app-guide.gmi
@@ -39,6 +39,7 @@ The Common Gateway Interface (CGI) is an interface specification that enables we
 Let's begin by taking a look at a basic Gemini CGI program. This will give you a starting point on which you can build more complex features.
 
 (minimal and naive example of a Gemini CGI app using Python)
+(link to some more technical guide about setting up CGI with a Gemini server)
 
 # 2. User interface
 
@@ -276,6 +277,7 @@ In Geminispace, in the absense of financial motivations, a malicious user could
 
 # 6. Internals
 
+* some lower-level notes about Gemini-specific CGI; however, this guide is not meant to be a technical reference about CGI; for getting CGI up and running,see @tomasino's Gemini CGI videos (tbd: other CGI tutorials?)
 * CGI environment, cf. official/Sean's documentation, server's own documentation
 * what to do with the cert/pubkey hash; storing in database or persistent storage, security implications (TLS-backed); what do the variables mean and how to use them
 * example: generating a SHA-256 fingerprint using pyOpenSSL from the peer X.509 cert
@@ -285,7 +287,7 @@ In Geminispace, in the absense of financial motivations, a malicious user could
 
 ## 6.1 Alternatives to CGI
 
-* while CGI is quite versatile, it still assumes input to arrive via environment variables and output via stdout, with each request spawning a CGI process; this may not be optimal for all apps; see also: FastCGI
+* while CGI is quite versatile, it still assumes input to arrive via environment variables and output via stdout, with each request spawning a CGI process, which can be heavy the server; this may not be optimal for all apps; see also: SCGI, FastCGI
 * a bespoke app server is not too difficult to pull off, given Gemini's simplicity; could use an off-the-shelf solution: Sean Conner's GLV (?), mozz's JetForce (?), or skyjake's GmCapsule -- this could also be considered a possible optimization in case CGI becomes a hindrance
 * Gemini proxy servers are a bit under-documented; a Gemini server can respond to any given URL (scheme, hostname, etc.); an app could be built around this, and a proxy server that fetches remote content could be built as a stateful app, too -- use of client certificates is not well-defined, though, but generally cliets activate certs based on the request URL; the proxy server would receive this certificate instead, but cannot redo the request with cert unless it possesses a copy of the same private key -- this area is open for experimentation
 * custom apps with custom URL schemes are possible, for specialized clients, but that is outside the scope of this tutorial as those cannot be called Gemini apps