Windows CGI Φφ≥σ≡⌠σΘ±

╬ßτε≡

┴εδⁿ°εσ ΩεδΦ≈σ±≥Γε World Wide Web ∩≡ΦδεµσφΦΘ ε±φεΓαφε φα Φ±∩εδⁿτεΓαφΦΦ Γφσ°φΦ⌡ ∩≡επ≡α∞∞, ≤∩≡αΓδ σ∞√⌡ Web ±σ≡Γσ≡ε∞. ╚±∩εδⁿτεΓαφΦσ Σαφφ√⌡ ∩≡επ≡α∞∞ ∩ετΓεδ σ≥ ±≥≡εΦ≥ⁿ Web ∩≡ΦδεµσφΦ  ± ΣΦφα∞Φ≈σ±ΩΦ εßφεΓδ σ∞εΘ Φφ⌠ε≡∞α÷ΦσΘ, ⌡φαφ ∙σΘ±  Γ ßατα⌡ Σαφφ√⌡ ΦδΦ πσφσ≡Φ≡≤■∙σΘ±  Γ ταΓΦ±Φ∞ε±≥Φ ε≥ ßΦτφσ±-∩≡αΓΦδ ≡σ∙ασ∞√⌡ ταΣα≈. ─δ  ±Γ τΦ ∞σµΣ≤ Web ±σ≡Γσ≡ε∞ Φ Γ√τ√Γασ∞√∞Φ ∩≡επ≡α∞∞α∞Φ °Φ≡εΩε Φ±∩εδⁿτ≤σ≥±  Common Gateway Interface (CGI), Φ∞σ■∙ΦΘ ≡σαδΦτα÷ΦΦ ΩαΩ Σδ  Windows-ε≡Φσφ≥Φ≡εΓαφφ√⌡ ∩≡επ≡α∞∞, ≥αΩ Φ Σδ  ∩≡ΦδεµσφΦΘ, ⌠≤φΩ÷ΦεφΦ≡≤■∙Φ⌡ Γ ±≡σΣσ Unix. ─αφφ√Θ ΣεΩ≤∞σφ≥ ε∩Φ±√Γασ≥ Windows-∞εΣΦ⌠ΦΩα÷Φ■ Φφ≥σ≡⌠σΘ±α CG, Φφα≈σ φατ√Γασ∞≤■ Windows CGI Φφ≥σ≡⌠σΘ±ε∞.

╨ατßε≡ Σαφφ√⌡ HTML-⌠ε≡∞

Windows CGI ≥≡σß≤σ≥, ≈≥εß√ Web ±σ≡Γσ≡ ΣσΩεΣΦ≡εΓαδ Σαφφ√σ Φτ HTML ⌠ε≡∞, σ±δΦ εφΦ ∩σ≡σΣαφ√ ∩≡Φ ∩ε∞ε∙Φ POST ∞σ≥εΣα τα∩≡ε±α. ╬φ φσ ≥≡σß≤σ≥ ε≥ ±σ≡Γσ≡α ΣσΩεΣΦ≡εΓαφΦ  ∩α≡α∞σ≥≡εΓ, σ±δΦ εφΦ ∩σ≡σΣαφ√ Γ Ωα≈σ±≥Γσ ±≥≡εΩΦ τα∩≡ε±α ("query string"),  Γδ ■∙σΘ±  ≈α±≥ⁿ■ URL.

╤≤∙σ±≥Γ≤σ≥ ΣΓα ±∩ε±εßα, Ωε≥ε≡√∞Φ Σαφφ√σ Φτ ⌠ε≡∞ ∞επ≤≥ ß√≥ⁿ ∩σ≡σΣαφ√ ±σ≡Γσ≡≤ ß≡ε≤τσ≡ε∞:

URL-Encoded
▌≥ε φαΦßεδσσ Φ±∩εδⁿτ≤σ∞√Θ ⌠ε≡∞α≥ Σαφφ√⌡, ∩σ≡σΣαΓασ∞√⌡ Φτ ⌠ε≡∞. ╤εΣσ≡µΦ∞εσ ∩εδσΘ ⌠ε≡∞√ Γ√Σσδ ■≥±  Φτ ⌠ε≡∞√ Φ ∩σ≡σΣα■≥±  ±επδα±φε ±∩σ÷Φ⌠ΦΩα÷ΦΦ HTML 1.0, α τα≥σ∞ ±εßΦ≡α■≥±  Γ εΣφ≤ ±≥≡εΩ≤, πΣσ ε≥Σσδ ■≥±  Σ≡≤π ε≥ Σ≡≤πα ±Φ∞Γεδε∞ α∞∩σ≡±αφΣα. ╥Φ∩ ±εΣσ≡µαφΦ  ±εεß∙σφΦ  ≤±≥αφαΓδΦΓασ≥±  ß≡ε≤τσ≡ε∞ Γ application/x-www-form-urlencoded.
Multipart Form Data
─αφφ√Θ ⌠ε≡∞α≥ ≡ατ≡αßε≥αφ Σδ  ²⌠⌠σΩ≥ΦΓφεΘ ταπ≡≤τΩΦ ⌠αΘδεΓ φα ±σ≡Γσ≡ ± Φ±∩εδⁿτεΓαφΦσ∞ ⌠ε≡∞. ╤εΣσ≡µΦ∞εσ ∩εδσΘ ⌠ε≡∞√ ∩σ≡σΣασ≥±  ΩαΩ ∞φεπε±≥≡αφΦ≈φεσ MIME ±εεß∙σφΦσ. ╩αµΣεσ ∩εδσ ±εΣσ≡µΦ≥±  Γ εΣφεΘ ±≥≡αφΦ÷σ. ╥Φ∩ ±εΣσ≡µαφΦ , ≤±≥αφαΓδΦΓασ≥±  ß≡ε≤τσ≡ε∞ Γ multipart/form-data.

"├≡α∞ε≥φ√σ" ±σ≡Γσ≡√ Σεδµφ√ ≤∞σ≥ⁿ εß≡αßα≥√Γα≥ⁿ εßα ≥Φ∩α Σαφφ√⌡ Φτ ⌠ε≡∞.

┬√τεΓ CGI ∩≡επ≡α∞∞

╤σ≡Γσ≡ Φ±∩εδⁿτ≤σ≥ ⌠≤φΩ÷Φ■ CreateProcess() Σδ  Γ√τεΓα CGI ∩≡επ≡α∞∞. ╤σ≡Γσ≡ ±Φφ⌡≡εφΦτΦ≡≤σ≥±  ± CGI ∩≡επ≡α∞∞εΘ, ∩ε±ΩεδⁿΩ≤ εφ Σεδµσφ ε∩≡σΣσδΦ≥ⁿ ∞ε∞σφ≥ ταΓσ≡°σφΦ  CGI ∩≡επ≡α∞∞√. ▌≥ε Σε±≥Φπασ≥±  Φ±∩εδⁿτεΓαφΦσ∞ ⌠≤φΩ÷ΦΦ Win32 WaitForSingleObject(), εµΦΣα■∙σΘ ∩εδ≤≈σφΦ  ±Φπφαδα ταΓσ≡°σφΦ  CGI ∩≡επ≡α∞∞√.

╩ε∞αφΣφα  ±≥≡εΩα

╤σ≡Γσ≡ Σεδµσφ Γ√τ√Γα≥ⁿ CGI ∩≡επ≡α∞∞≤ Γ√∩εδφ   ⌠≤φΩ÷Φ■ CreateProcess() ± Ωε∞αφΣφεΘ ±≥≡εΩεΘ ±δσΣ≤■∙σπε ⌠ε≡∞α≥α:

   WinCGI-exe cgi-data-file
WinCGI-exe
╧εδφ√Θ ∩≤≥ⁿ Ω Φ±∩εδφ σ∞εΘ CGI ∩≡επ≡α∞∞σ. ╤σ≡Γσ≡ φσ ταΓΦ±Φ≥ ε≥ "≥σΩ≤∙σπε Ωα≥αδεπα" ΦδΦ ∩σ≡σ∞σφφεΘ εΩ≡≤µσφΦ  PATH. ╧≡Φ∞Φ≥σ Ω ±ΓσΣσφΦ■, ≈≥ε "Φ±∩εδφ σ∞α " φσ εß τα≥σδⁿφε ετφα≈ασ≥ .EXE ⌠αΘδ. ▌≥ε ∞εµσ≥ ß√≥ⁿ ΣεΩ≤∞σφ≥, α±±ε÷ΦΦ≡≤■∙ΦΘ±  ± ≡σαδⁿφε Φ±∩εδφ σ∞εΘ ∩≡επ≡α∞∞εΘ, ε∩Φ±αφφεΘ Γ WIN.INI ΦδΦ System Registry.
cgi-data-file
╧εδφ√Θ ∩≤≥ⁿ Ω CGI ⌠αΘδ≤ Σαφφ√⌡.

╠σ≥εΣ Γ√τεΓα

╤σ≡Γσ≡ Φ±∩εδⁿτ≤σ≥ CreateProcess() Σδ  τα∩≤±Ωα ∩≡ε÷σ±±α, φσ Φ∞σ■∙σπε πδαΓφεπε εΩφα. ┬√τΓαφφ√Θ ∩≡ε÷σ±± φσ ß≤Σσ≥ ε≥εß≡αµα≥ⁿ±  ΩαΩΦ∞ δΦßε εß≡ατε∞ φα ∞εφΦ≥ε≡σ ±σ≡Γσ≡α.

═σΩε≥ε≡√σ ±σ≡Γσ≡α ∩εΣΣσ≡µΦΓα■≥ ≡σµΦ∞ ε≥δαΣΩΦ CGI ∩≡επ≡α∞∞ Φ ±Ω≡Φ∩≥εΓ, ≈≥ε ∩ετεΓεδ σ≥ ±σ≡Γσ≡≤ τα∩≤±Ωα≥ⁿ CGI ∩≡επ≡α∞∞≤ ΩαΩ εß√≈φ√Θ ∩≡ε÷σ±± ± ±ετΣαφΦσ∞ πδαΓφεπε εΩφα Φ ε≥εß≡αµσφΦσ∞ Φφ⌠ε≡∞α÷ΦΦ φα ∞εφΦ≥ε≡σ ±σ≡Γσ≡α. ─αφφ√Θ ±∩ε±εß Γσ±ⁿ∞α ≤Σεßσφ φα ±≥αΣΦΦ ε≥δαΣΩΦ CGI ∩≡επ≡α∞∞.

CGI ⌠αΘδ Σαφφ√⌡

╤σ≡Γσ≡ ∩σ≡σΣασ≥ Σαφφ√σ CGI ∩≡επ≡α∞∞α∞ ≈σ≡στ Windows "private profile" afqk, Γ ⌠ε≡∞α≥σ "∩α≡α∞σ≥≡-τφα≈σφΦσ" (windows INI ⌠αΘδ). CGI ∩≡επ≡α∞∞α ∞εµσ≥ ∩≡ε≈Φ≥α≥ⁿ Σαφφ√Θ ⌠αΘδ Φ ∩εδ≤≈Φ≥ Γ±σ Σαφφ√σ, ∩σ≡σΣαΓασ∞√σ σΘ Φτ ⌠ε≡∞√, α ≥αΩµσ αΓ≥ε∞α≥Φ≈σ±ΩΦ πσφσ≡Φ≡≤σ∞√σ ß≡ε≤τσ≡ε∞ Σαφφ√σ.

CGI ⌠αΘδ Σαφφ√ ±ε±≥εΦ≥ Φτ ±δσΣ≤■∙Φ⌡ ±σΩ÷ΦΘ:

╤σΩ÷Φ  [CGI]

─αφφα  ±σΩ÷Φ  ±εΣσ≡µΦ≥ ßεδⁿ°Φφ±≥Γε ±∩σ÷Φ⌠Φ≈σ±ΩΦ⌡ CGI ∩α≡α∞σ≥≡εΓ (≥Φ∩ Σε≥≤∩α, ≥Φ∩ τα∩≡ε±α, Σε∩εδφΦ≥σδⁿφ√σ ταπεδεΓΩΦ, ε∩≡σΣσδσφφ√σ Γ Σ≡≤πΦ⌡ ±σΩ÷Φ ⌡ Φ ≥.∩.). ╩αµΣεσ τφα≈σφΦσ ∩≡σΣ±≥αΓδσφε ΓΓΦΣσ ±Φ∞ΓεδⁿφεΘ ±≥≡εΩΦ. ┼±δΦ τφα≈σφΦσ  Γδ σ≥±  ∩≤±≥εΘ ±≥≡εΩεΘ, τφα≈Φ≥ Σαφφ√Θ ∩α≡α∞σ≥≡ ß√δ ε∩≤∙σφ. T±∩Φ±εΩ ∩α≡α∞σ≥≡εΓ ΣαφφεΘ ±σΩ÷ΦΦ ∩≡σΣ±≥αΓδσφ φΦµσ:

Request Protocol

═ατΓαφΦσ Φ ∞εΣΦ⌠ΦΩα÷Φ  Φφ⌠ε≡∞α÷Φεφφεπε ∩≡ε≥εΩεδα, Φ±∩εδⁿτεΓαφφεπε Σδ  ∩σ≡σΣα≈Φ Σαφφεπε τα∩≡ε±α. ╘ε≡∞α≥: ∩≡ε≥εΩεδ/∞εΣΦ⌠ΦΩα÷Φ . ╧≡Φ∞σ≡: "HTTP/1.0".

Request Method

╠σ≥εΣ, Ωε≥ε≡√Θ Φ±∩εδⁿτεΓαδ±  Σδ  Σαφφεπε τα∩≡ε±α. ─δ  HTTP ²≥ε "GET", "HEAD", "POST" Φ ≥.Σ.

Executable Path

╦επΦ≈σ±ΩΦΘ ∩≤≥ⁿ Ω Φ±∩εδφ σ∞εΘ CGI ∩≡επ≡α∞∞σ, φσεß⌡εΣΦ∞√Θ Σδ  ±±√δΩΦ CGI ∩≡επ≡α∞∞σ φα ±α∞≤ ±σß .

Logical Path

╟α∩≡ε± ≥αΩµσ ∞εµσ≥ ≤Ωατ√Γα≥ⁿ Ω ≡σ±≤≡±α∞, φσεß⌡εΣΦ∞√∞ Σδ  Γ√∩εδφσφΦ  Σαφφεπε τα∩≡ε±α. ─αφφ√Θ ∩α≡α∞σ≥≡ ±εΣσ≡µΦ≥ ∩≤≥ⁿ Γ ≥ε∞ ΓΦΣσ, Ωε≥ε≡√Θ ß√δ ∩εδ≤≈σφ ±σ≡Γσ≡ε∞ ßστ ∞²∩Φ≡εΓαφΦ  σπε φα ⌠ΦτΦ≈σ±ΩΦΘ ∩≤≥ⁿ φα ΣΦ±Ωσ.

Physical Path

┼±δΦ τα∩≡ε± ±εΣσ≡µΦ≥ Φφ⌠ε≡∞α÷Φ■ ε δεπΦ≈σ±Ωε∞ ∩≤≥Φ, ±σ≡Γσ≡ ∩≡σεß≡ατ≤σ≥ σπε Ω ⌠ΦτΦ≈σ±Ωε∞≤ ∩≤≥Φ (φα∩≡Φ∞σ≡, Ω ∩≤≥Φ Ω ⌠αΘδ≤ φα ΣΦ±Ωσ) Σε±≤∩α ±επα±φε ±Φφ≥αΩ±Φ≈σ±ΩΦ∞ ∩≡αΓΦδα∞ ε∩σ≡α÷ΦεφφεΘ ±Φ±≥σ∞√.

Query String
╚φ⌠ε≡∞α÷Φ , ≡ατ∞σ∙α■∙α ±  ∩ε±δσ ? Γ URL Γ√τ√Γασ∞εΘ CGI ∩≡επ≡α∞∞√. ╤σ≡Γσ≡ ε±≥αΓδ σ≥ ²≥≤ Φφ⌠ε≡∞α÷Φ■ ßστ Φτ∞σφσφΦΘ Γ ≥ε∞ ΓΦΣσ, Γ Ωε≥ε≡ε∞ εφα ß√δα ∩ε∞σ∙σφα Γ URL.
Request Range
Byte-range ±∩σ÷Φ⌠ΦΩα÷Φ  ∩εδ≤≈ασ∞α  Γ∞σ±≥σ ± τα∩≡ε±ε∞ (σ±δΦ σ±≥ⁿ). ╤∞ε≥≡Φ ≥σΩ≤∙ΦΘ Internet Draft (ΦδΦ RFC), ε∩Φ±√Γα■∙ΦΘ ≡α±°Φ≡σφΦσ HTTP Σδ  ∩εδ≤≈σφΦ  ßεδσσ ∩εδφεΘ Φφ⌠ε≡∞α÷ΦΦ. ╤σ≡Γσ≡ Σεδµσφ ∩εΣΣσ≡µΦΓα≥ⁿ ≡αßε≥≤ CGI ∩≡επ≡α∞∞ Γ byte-ranging.
Referer
URL ΣεΩ≤∞σφ≥α, ±εΣσ≡µα∙σπε ±±√δΩ≤ φα Σαφφ≤■ CGI ∩≡επ≡α∞∞≤. ═αΣε τα∞σ≥Φ≥ⁿ, ≈≥ε φσΩε≥ε≡√σ ß≡ε≤τσ≡√ ταΩ≡√Γα■≥ Σαφφ≤■ Γετ∞εµφε±≥ⁿ Φ φσ Σα■≥ σσ Φ±∩εδⁿτεΓα≥ⁿ.
From
E-mail αΣ≡σ± ∩εδⁿτεΓα≥σδ  ß≡ε≤τσ≡α. ═αΣε τα∞σ≥Φ≥ⁿ, ≈≥ε Σαφφ√Θ ∩α≡α∞σ≥≡ ∩≡Φ±≤≥±≥Γ≤σ≥ ± ±∩σ÷Φ⌠ΦΩα÷ΦΦ HTTP, φε φσ Φ±∩εδⁿτ≤σ≥±  ßεδⁿ°Φφ±≥Γε∞ ß≡ε≤τσ≡ε∞ Φτ ±εεß≡αµσφΦΘ ±σΩ≡σ≥φε±≥Φ.
User Agent
╤≥≡εΩα, ε∩Φ±√Γα■∙α  ∩≡επ≡α∞∞φεσ εßσ±∩σ≈σφΦσ ß≡ε≤τσ≡α. ═σ πσφσ≡Φ≡≤σ≥±  ßεδⁿ°Φφ±≥Γε∞ ß≡ε≤τσ≡εΓ.
Content Type
─αφφ√Θ ∩α≡α∞σ≥≡ ±εΣσ≡µΦ≥ MIME-≥Φ∩ Σαφφ√⌡, ∩ε±δαφφ√⌡ ΩδΦσφ≥ε∞ Γ∞σ±≥σ ± ∩εδ ∞Φ Φτ ⌠ε≡∞√, σ±δΦ ²≥Φ Σαφφ√σ ß√δΦ ∩ε±δαφ√. ╘ε≡∞α≥: type/subtype.
Content Length
─δ  τα∩≡ε±εΓ, ± Ωε≥ε≡√∞Φ ∩ε±δαφ√ Σε∩εδφΦ≥σδⁿφ√σ Σαφφ√σ Γ ²≥ε ∩εδσ ταφε±Φ≥±  ΣδΦφα ∩ε±δαφφ√⌡ Σαφφ√⌡ Γ ßαΘ≥α⌡.
Content File
─δ  τα∩≡ε±εΓ, ±εΣσ≡µα∙Φ⌡ Σε∩εδφΦ≥σδⁿφ√σ Σαφφ√σ, ∩ε±δαφφ√σ ∩εδⁿτεΓα≥σδσ∞, ²≥ε≥ ∩α≡α∞σ≥≡ ±εΣσ≡µΦ≥ Φ∞  ⌠αΘδα, Γ Ωε≥ε≡εσ WEB-±σ≡Γσ≡ τα∩Φ±√Γασ≥ ²≥Φ Σαφφ√σ. ┬ ΣαδⁿφσΘ°σ∞, ∩εδⁿτεΓα≥σδⁿ±Ωα  ∩≡επ≡α∞∞α ∞εµσ≥ ±≈Φ≥α≥ⁿ ²≥Φ Σαφφ√σ. ╧α≡α∞σ≥≡ ±εΣσ≡µΦ≥ ∩εδφ≤Θ ∩≤≥ⁿ Ω ⌠αΘδ≤ Σαφφ√⌡.
Server Software
═ατΓαφΦσ Φ Γσ≡±Φ  ±σ≡Γσ≡φεπε ∩≡επ≡α∞∞φεπε εßσ±∩σ≈σφΦ , εß≡αßε≥αΓ°σπε τα∩≡ε± Φ Γ√τΓαΓ°σπε CGI-∩≡επ≡α∞∞≤. ╘ε≡∞α≥: name/version.
Server Name
╤σ≥σΓεσ Φ∞  ±σ≡Γσ≡α ΦδΦ ∩±σΓΣεφΦ∞, φσεß⌡εΣΦ∞√Θ Σδ  ±±√δα■∙Φ⌡±  φα ±σß  URL ▌≥ε≥ ∩α≡α∞σ≥≡ (Γ Ωε∞ßαφα÷ΦΦ ± ∩α≡α∞σ≥≡ε∞ ServerPort) ∞εµσ≥ ß√≥ⁿ Φ±∩εδⁿτεΓαφ Σδ  Γ√≈Φ±δσφΦ  ∩εδφεπε URL Ω ±σ≡Γσ≡≤.
Server Port
═ε∞σ≡ ∩ε≡≥α, ∩ε Ωε≥ε≡ε∞≤ ≡αßε≥ασ≥ ±σ≡Γσ≡.
Server Admin
E-mail αΣ≡σ± αΣ∞ΦφΦ±≥≡α≥ε≡α ±σ≡Γσ≡α. ─αφφ√Θ ∩α≡α∞σ≥≡ φσεß⌡εΣΦ∞ Σδ πσφσ≡α÷ΦΦ ±εεß∙σφΦΘ εß ε°ΦßΩα⌡ Φ ε≥∩≡αΓΩΦ Σαφφ√⌡ ±εεß∙σφΦΘ αΣ∞ΦφΦ±≥≡α≥ε≡≤ ±σ≡Γσ≡α ΦδΦ Σδ  πσφσ≡α÷ΦΦ ⌠ε≡∞ ± URL "mailto:".
CGI Version
┬σ≡±Φ  ±∩σ÷Φ⌠ΦΩα÷ΦΦ CGI. ╘ε≡∞α≥: CGI/Γσ≡±Φ . ─δ  ΣαφφεΘ Γσ≡±ΦΦ, "CGI/1.2 (Win)".
Remote Host
╤σ≥σΓεσ Φ∞  ⌡ε±≥α ΩδΦσφ≥α, σ±δΦ Σε±≥≤∩φε. ─αφφ√Θ ∩α≡α∞σ≥≡ ∞εµσ≥ ß√≥ⁿ Φ±∩εδⁿτεΓαφ Σδ  ε∩ετφαΓαφΦσ ΩδΦσφ≥α.
Remote Address
╤σ≥σΓεΘ (IP) αΣ≡σ± ΩδΦσφ≥α. ─αφφ√Θ ∩α≡α∞σ≥≡ ∞εµσ≥ ß√≥ⁿ Φ±∩εδⁿτεΓαφ Σδ  ∩≡εΓσ≡ΩΦ ∩εδⁿτεΓα≥σδ  σ±δΦ ε≥±≤≥±≥Γ≤σ≥ ±σ≥σΓεσ Φ∞ .
Authentication Method
┼±δΦ Φ±∩εδⁿτ≤σ≥±  τα∙Φ∙σφφ√Θ Γ√τεΓ CGI ∩≡επ≡α∞∞√, ²≥ε ∩≡ε≥εΩεδ-ταΓΦ±Φ∞√Θ ∞σ≥εΣ α≤≥σφ≥Φ⌠ΦΩα÷ΦΦ, Φ±∩εδⁿτ≤σ∞√Θ Σδ  α≤≥σφ≥Φ⌠ΦΩα÷ΦΦ ∩εδⁿτεΓα≥σδ .
Authentication Realm
┼±δΦ Φ±∩εδⁿτ≤σ≥±  τα∙Φ∙σφφ√Θ Γ√τεΓ CGI ∩≡επ≡α∞∞√, ²≥ε ∩≡ε≥εΩεδ-ταΓΦ±Φ∞√Θ ±σ≡ΓΦ±, Φ±∩εδⁿτ≤σ∞√Θ Σδ  α≤≥σφ≥Φ⌠ΦΩα÷ΦΦ ∩εδⁿτεΓα≥σδ . ╤∩Φ±εΩ ∩εδⁿτεΓα≥σδσΘ Σδ  ∩εδ≤≈σφφεπε ΓΦΣα ±σ≡ΓΦ±α i∩≡εΓσ≡ σ≥±  Σδ  α≤≥σφ≥Φ⌠ΦΩα÷ΦΦ ∩εδⁿτεΓα≥σδ .
Authenticated Username
┼±δΦ Φ±∩εδⁿτ≤σ≥±  τα∙Φ∙σφφ√Θ Γ√τεΓ CGI ∩≡επ≡α∞∞√, ²≥ε Φ∞  ∩εδⁿτεΓα≥σδ , Ωε≥ε≡εσ ΩδΦσφ≥ Φ±∩εδⁿτ≤σ≥ Σδ  α≤≥σφ≥Φ⌠ΦΩα÷ΦΦ ∩≡Φ Σε±≥≤∩σ Ω CGI-∩≡επ≡α∞∞σ.

╤σΩ÷Φ  [Accept]

─αφφα  ±σΩ÷Φ  ±εΣσ≡µΦ≥ ≥Φ∩√ Σαφφ√⌡, ∩ε±√δασ∞√⌡ ΩδΦσφ≥ε∞, φαΘΣσφφ√σ Γ ταπεδεΓΩσ τα∩≡ε±α Γ ΓΦΣσ

Accept: type/subtype {parameters}

┼±δΦ Σαφφ√σ ∩α≡α∞σ≥≡√ ∩≡Φ±≤≥±≥Γ≤■≥ (φα∩≡Φ∞σ≡, "q=0.100") , εφΦ ∩σ≡σΣα■≥±  ΩαΩ τφα≈σφΦ  ∩α≡α∞σ≥≡α Accept. ─δ  ΩαµΣεπε ≥Φ∩α ∩σ≡σΣαΓασ∞√⌡ Σαφφ√⌡ ταΓεΣΦ≥±  ±ΓεΘ ∩α≡α∞σ≥≡ Accept.

╤σΩ÷Φ  [System]

─αφφα  ±σΩ÷Φ  ±εΣσ≡µΦ≥ ∩α≡α∞σ≥≡√, ±∩σ÷Φ⌠Φ≈σ±ΩΦσ Σδ  Windows ≡σαδΦτα÷ΦΦ CGI:

GMT Offset
╩εδΦ≈σ±≥Γε ±σΩ≤φΣ, Ωε≥ε≡εσ φσεß⌡εΣΦ∞ε ΣεßαΓΦ≥ⁿ Ω Γ≡σ∞σφΦ ∩ε ├≡ΦφΓΦ≈≤ Σδ  Γ√≈Φ±δσφΦ  δεΩαδⁿφεπε Γ≡σ∞σφΦ ΩδΦσφ≥α.
Debug Mode
─αφφ√Θ ∩α≡α∞σ≥≡ Φ∞σσ≥ τφα≈σφΦσ "Yes" σ±δΦ ΓΩδ■≈σφ ≡σµΦ∞ "CGI/script tracing" φα ±σ≡Γσ≡σ.
Output File
╧εδφ√Θ ∩≤≥ⁿ Ω ⌠αΘδ≤, Γ Ωε≥ε≡√Θ φσεß⌡εΣΦ∞ε ∩ε∞σ±≥Φ≥ⁿ Σαφφ√σ, ε≥±√δασ∞√σ ±σ≡Γσ≡ε∞ ΩδΦσφ≥≤ ∩ε±δσ ταΓσ≡°σφΦ  ≡αßε≥√ ∩≡επ≡α∞∞√.
Content File
╧εδφ√Θ ∩≤≥ⁿ Ω ⌠αΘδ ≤ Γ Ωε≥ε≡ε∞ ±εΣσ≡µΦ≥±  Σε∩εδφΦ≥σδⁿφα  Φφ⌠ε≡∞α÷Φ , ∩ε±≥≤∩α■∙α  Γ∞σ±≥σ ± τα∩≡ε±ε∞.

╤σΩ÷Φ  [Extra Headers]

─αφφα  ±σΩ÷Φ  ±εΣσ≡µΦ≥ "Σε∩εδφΦ≥σδⁿφ√σ" ταπεδεΓΩΦ, Ωε≥ε≡√σ ΓΩδ■≈σφ√ Γ τα∩≡ε± Γ ΓΦΣσ "∩α≡α∞σ≥≡=τφα≈σφΦσ". ╤σ≡Γσ≡ Σεδµσφ ≡α±ΩεΣΦ≡εΓα≥ⁿ ΩαΩ ∩α≡α∞σ≥≡, ≥αΩ Φ σπε τφα≈σφΦσ ∩≡σµΣσ ≈σ∞ εφΦ ß≤Σ≤≥ ∩ε∞σ∙σφ√ Γ ⌠αΘδ Σαφφ√⌡ CGI.

╤σΩ÷Φ  [Form Literal]

┼±δΦ τα∩≡ε± ε≥ ΩδΦσφ≥α ∩≡Φ°σδ Γ ΓΦΣσ HTTP POST Φτ HTML ⌠ε≡∞√ (± ≥Φ∩ε∞ ±εΣσ≡µΦ∞επε application/x-www-form-urlencoded ΦδΦ multipart/form-data), ≥ε ±σ≡Γσ≡ ≡α±ΩεΣΦ≡≤σ≥ Σαφφ√σ Φτ ⌠ε≡∞√ Φ ∩ε∞σ±≥Φ≥ Φ⌡ Γ ±σΩ÷Φ■ [Form Literal].

─δ  URL-ΩεΣΦ≡εΓαφφ√⌡ Σαφφ√⌡ ⌠ε≡∞√, ±≥≡εΩα ∩σ≡σΣαΓασ∞√⌡ ∩α≡α∞σ≥≡εΓ Γ√πδ ΣΦ≥ ΩαΩ "∩α≡α∞σ≥≡=τφα≈σφΦσ&∩α≡α∞σ≥≡=τφα≈σφΦσ&...", πΣσ τφα≈σφΦ  φα⌡εΣ ≥±  Γ url-ΩεΣΦ≡εΓαφφε∞ ⌠ε≡∞α≥σ. ╤σ≡Γσ≡ ≡ατΣσδ σ≥ "∩α≡α∞σ≥≡=τφα≈σφΦσ" ∩ε ±Φ∞Γεδ≤ '&', τα≥σ∞ ≡ατΣσδ σ≥ ±εß±≥Γσφφε "∩α≡α∞σ≥≡" Φ "τφα≈σφΦσ", ΣσΩεΣΦ≡≤σ≥ "τφα≈σφΦσ" Φ ∩ε∞σ∙ασ≥ ≡στ≤δⁿ≥α≥ Γ ΓΦΣσ "∩α≡α∞σ≥≡=≡α±ΩεΣΦ≡εΓαφφεσ_τφα≈σφΦσ" Γ ±σΩ÷Φ■ [Form Literal].

─δ  ∞φεπε±≥≡αφΦ≈φ√⌡ Σαφφ√⌡ ±≥≡εΩα Σαφφ√⌡ ∩≡σΣ±≥αΓδ σ≥±  Γ ∞φεπε±≥≡αφΦ≈φε∞ MIME ⌠ε≡∞α≥σ, πΣσ ΩαµΣεσ ∩εδσ ∩≡σΣ±≥αΓδσφε ΩαΩ ε≥Σσδⁿφα  ≈α±≥ⁿ (⌠αΘδ). ±σ≡Γσ≡ ΣσΩεΣΦ≡≤σ≥ Φ∞σφα Φ τφα≈σφΦσ ΩαµΣεΘ ≈α±≥Φ Φ ≡ατ∞σ∙ασ≥ Φ⌡ Γ ⌠ε≡∞α≥σ "∩α≡α∞σ≥≡=τφα≈σφΦσ" Γ ±σΩ÷ΦΦ [Form Literal].

┼±δΦ ⌠ε≡∞α ±εΣσ≡µΦ≥ ΩαΩΦσ-δΦßε ²δσ∞σφ≥√ SELECT MULTIPLE, ≥ε ß≤Σσ≥ ±ετΣαφε φσ±ΩεδⁿΩε ±≥≡εΩ ± ΓΦΣα "∩α≡α∞σ≥≡=τφα≈σφΦσ" ± εΣΦφαΩεΓ√∞ Φ∞σφσ∞ "∩α≡α∞σ≥≡α". ┬ ²≥ε∞ ±δ≤≈ασ πσφσ≡Φ≡≤σ≥ φε≡∞αδⁿφ≤■ ±≥≡εΩ≤ "∩α≡α∞σ≥≡=τφα≈σφΦσ" Σδ  ∩σ≡Γεπε Γ±≥≡σ≈α■∙σπε±  ²δσ∞σφ≥α, α ΩαµΣ√Θ ±δσΣ≤■∙ΦΘ ∩≡σΣ±≥αΓδ σ≥ Γ ΓΦΣσ "∩α≡α∞σ≥≡_X=τφα≈σφΦσ", πΣσ "X" - ≤ΓσδΦ≈ΦΓα■∙ΦΘ±  ±≈σ≥≈ΦΩ.

╤σΩ÷Φ  [Form External]

┼±δΦ ≡ατ∞σ≡ ΣσΩεΣΦ≡εΓαφφεΘ ±≥≡εΩΦ ∩≡σΓ√°ασ≥ 254 ±Φ∞Γεδα ΦδΦ ΣσΩεΣΦ≡εΓαφφα  ±≥≡εΩα ±εΣσ≡µΦ≥ ≤∩≡αΓδ ■∙Φσ ±Φ∞Γεδ√, ≥αΩΦσ, ΩαΩ ∩σ≡σΓεΣ ±≥≡εΩΦ, ΓετΓ≡α≥ Ωα≡σ≥ΩΦ, ΣΓεΘφ√σ ΩαΓ√≈ΩΦ Φ ≥.Σ., ≥ε ±σ≡Γσ≡ ∩ε∞σ∙ασ≥ Σαφφεσ τφα≈σφΦσ Γ ε≥Σσδⁿφ√Θ Γ≡σ∞σφφ√Θ ⌠αΘδ, α Γ ±σΩ÷Φ■ [Form External] ∩ε∞σ∙ασ≥ ±≥≡εΩ≤ Γ ΓΦΣσ:

  ∩α≡α∞σ≥≡=∩≤≥ⁿ ΣδΦφα 

πΣσ ∩≤≥ⁿ - ²≥ε ∩εδφ√Θ ∩≤≥ⁿ Φ Φ∞  Γ≡σ∞σφφεπε ⌠αΘδα, ±εΣσ≡µα∙σπε ΣσΩεΣΦ≡εΓαφφεσ τφα≈σφΦσ ∩α≡α∞σ≥≡α, α ΣδΦφα - ΣδΦφα Γ ßαΘ≥α⌡ ²≥επε ⌠αΘδα.

╤σΩ÷Φ  [Form Huge]

┼±δΦ εß∙α  ΣδΦφα ±≥≡εΩΦ ± ΩεΣΦ≡εΓαφφ√∞Φ ∩α≡α∞σ≥≡α∞Φ ∩≡σΓ√°ασ≥ 65,535 ßαΘ≥, ≥ε ±σ≡Γσ≡ φσ Γ√∩εδφ σ≥ ΣσΩεΣΦ≡εΓαφΦσ, α ε±≥αΓδ σ≥ Σαφφ√Θ Γ Content File, α Γ ±σΩ÷Φ■ [Form Huge] ∩ε∞σ∙ασ≥ ±≥≡εΩΦ Γ ΓΦΣσ:

  ∩α≡α∞σ≥≡=±∞σ∙σφΦσ ΣδΦφα

πΣσ ±∞σ∙σφΦσ - ²≥ε ±∞σ∙σφΦσ ε≥ φα≈αδα Content File ∩ε Ωε≥ε≡ε∞≤ φα⌡εΣΦ≥±  ≥≡σß≤σ∞√Θ ∩α≡α∞σ≥≡, α ΣδΦφα - ΣδΦφα Γ ßαΘ≥α⌡ τφα≈σφΦ  Γ√ß≡αφφεπε ∩α≡α∞σ≥≡α. ┬√ ∞εµ≥σ Φ±∩εδⁿτεΓα≥ⁿ ±∞σ∙σφΦσ Σδ  Γ√∩εδφσφΦ  ∩εΦ±Ωα φα≈αδα τφα≈σφΦ  Γ√ß≡αφφεπε Γα∞Φ ∩α≡α∞σ≥≡α Φ Φ±∩εδⁿτεΓα≥ⁿ ΣδΦφ≤ Σδ  ≈≥σφΦ  τφα≈σφΦ  Γ√ß≡αφφεπε ∩α≡α∞σ≥≡α. ═σ ταß√ΓαΘ≥σ, ≈≥ε σ±δΦ ∩α≡α∞σ≥≡ ταΩεΣΦ≡εΓαφ, ≥ε Γα∞ φσεß⌡εΣΦ∞ε ≡α±ΩεΣΦ≡εΓα≥ⁿ σπε ∩σ≡σΣ Φ±∩εδⁿτεΓαφΦσ∞.

╤σΩ÷Φ  [Form File]

┼±δΦ τα∩≡ε± ∩≡Φ°σδ Γ ΓΦΣσ multipart/form-data, ≥ε εφ ∞εµσ≥ ±εΣσ≡µα≥ⁿ εΣΦφ ΦδΦ φσ±ΩεδⁿΩε ταπ≡≤µσφφ√⌡ ± ΩδΦσφ≥α ⌠αΘδεΓ. ┬ ²≥ε∞ ±δ≤≈ασ ΩαµΣ√Θ ταπ≡≤µσφφ√Θ ⌠αΘδ ≡ατ∞σ∙ασ≥±  Γ ±∩σ÷Φαδⁿφε∞ Γ≡σ∞σφφε∞ ⌠αΘδσ, α Γ ±σΩ÷ΦΦ [Form File] ±≥≡εΩΦ Φ∞σ■≥ ≥ε≥ µσ ⌠ε≡∞α≥, ≈≥ε Φ ±σΩ÷ΦΦ [Form External]. ΩαµΣα  ±≥≡εΩα ∩α≡α∞σ≥≡α Γ ²≥ε∞ ±δ≤≈ασ Γ√πδ ΣΦ≥ ≥αΩ:

  ∩α≡α∞σ≥≡=[∩εδφ√Θ_∩≤≥ⁿ_Ω_⌠αΘδ≤]
 ΣδΦφα ≥Φ∩ ±±√δΩα [Φ∞ _⌠αΘδα]

╧≡Φ∞σ≡ ΣσΩεΣΦ≡εΓαφφ√⌡ τφα≈σφΦΘ ⌠ε≡∞√

┬ Σαφφε∞ ∩≡Φ∞σ≡σ ⌠ε≡∞α ±εΣσ≡µΦ≥ φσßεδⁿ°εσ ∩εδσ, SELECT MULTIPLE ± 2-∞  φσßεδⁿ°Φ∞Φ ±σΩ÷Φ ∞Φ, ∩εδσ ΣδΦφεΘ 300 ±Φ∞ΓεδεΓ, ∩εδσ, ±εΣσ≡µα∙σσ ±∩σ÷Φαδⁿφ√σ ±Φ∞Γεδ√ Φ ∩εδσ ΣδΦφεΘ 230KB.

[Form Literal]
smallfield=123 Main St. #122
multiple=first selection
multiple_1=second selection

[Form External]
field300chars=C:\TEMP\HS19AF6C.000 300
fieldwithlinebreaks=C:\TEMP\HS19AF6C.001 43

[Form Huge]
field230K=C:\TEMP\HS19AF6C.002 276920

╬ß≡αßε≥Ωα ≡στ≤δⁿ≥α≥α

CGI ∩≡επ≡α∞∞α ΓετΓ≡α∙ασ≥ ≡στ≤δⁿ≥α≥ ≡αßε≥√, ε≥Γσ≈α■∙ΦΘ ( Γφε ΦδΦ φσ Γφε) ÷σδ ∞ τα∩≡ε±α. ╤σ≡Γσ≡ ΩεΣΦ≡≤σ≥ ≡στ≤δⁿ≥α≥ ≡αßε≥√ Γ ±εε≥Γσ≥±≥ΓΦΦ ±ε ±≥αφΣα≡≥ε∞ HTTP Φ Φ±∩εδⁿτ≤σ≥ HTTP Σδ  ε≥∩≡αΓΩΦ ≡στ≤δⁿ≥α≥α ΩδΦσφ≥≤. ▌≥ε ετφα≈ασ≥, ≈≥ε ±σ≡Γσ≡ ΣεßαΓδ σ≥ φσεß⌡εΣΦ∞√Θ HTTP ταπεδεΓΩΦ Γ ±εεß∙σφΦσ, ⌠ε≡∞Φ≡≤σ∞εσ CGI ∩≡επ≡α∞∞εΘ.

╨στ≤δⁿ≥α≥ ≡αßε≥√ CGI ∩≡επ≡α∞∞√ ±ε±≥εΦ≥ Φτ ΣΓ≤⌡ ≈α±≥σΘ: ταπεδεΓΩα Φ ≥σδα ±εεß∙σφΦ . ╟απεδεΓεΩ ±ε±≥εΦ≥ Φτ εΣφεΘ ΦδΦ ßεδσσ ±≥≡εΩ ≥σΩ±≥α, ε≥Σσδσφφ√⌡ ε≥ ≥σδα ∩≤±≥εΘ ±≥≡εΩεΘ. ╥σδε ±εεß∙σφΦ  ±εΣσ≡µΦ≥ Σαφφ√σ, ∩≡σΣ±≥αΓδσφφ√σ Γ MIME ⌠ε≡∞α≥σ, ≤Ωαταφφε∞ Γ ταπεδεΓΩσ.

╤σ≡Γσ≡ φσ Φτ∞σφ σ≥ ≥σδε ΣεΩ≤∞σφ≥α, ≈≥ε ετφα≈ασ≥, ≈≥ε ±σ≡Γσ≡ ∩σ≡σΣασ≥ ±⌠ε≡∞Φ≡εΓαφφ√Θ CGI ∩≡επ≡α∞∞εΘ ε≥Γσ≥ "ΩαΩ εφ σ±≥ⁿ".T

╤∩σ÷Φαδⁿφ√σ ±≥≡εΩΦ ταπεδεΓΩα

╤σ≡Γσ≡ ≡α±∩ετφασ≥ ±δσΣ≤■∙Φσ ±≥≡εΩΦ ταπεδεΓΩα Γ Γ√⌡εΣφε∞ ∩ε≥εΩσ:

Content-Type:
╙Ωατ√Γασ≥ φα MIME ≥Φ∩ ≥σδα ±εεß∙σφΦ . ╟φα≈σφΦσ ²≥επε ∩α≡α∞σ≥≡α Σεδµφε ß√≥ⁿ Γ ⌠ε≡∞α≥σ type/subtype.
URI: <value> (value enclosed in angle brackets)
─αφφεσ τφα≈σφΦσ ≤Ωατ√Γασ≥ φα ∩εδφ√Θ URL ΦδΦ ±±√δΩ≤ φα δεΩαδⁿφ√Θ ⌠αΘδ, ±εεß∙σφΦσ Φτ Ωε≥ε≡επε ß≤Σσ≥ ΓετΓ≡α∙σφε ΩδΦσφ≥≤ Γ ≥σδσ ±εεß∙σφΦ . ┼±δΦ τφα≈σφΦσ  Γδ σ≥±  δεΩαδⁿφ√∞ ⌠αΘδε∞, ±σ≡Γσ≡ ε≥±√δασ≥ σπε ΩαΩ ≡στ≤δⁿ≥α≥ τα∩≡ε±α, ΩαΩ ß≤Σ≥ε ΩδΦσφ≥ Γε±∩εδⁿ⌡τεΓαδ±  ∞σ≥εΣε∞ GET ∩≡Φ πσφσ≡α÷ΦΦ τα∩≡ε±α. ┼±δΦ τφα≈σφΦσ  Γδ σ≥±  ∩εδφ√∞ URL, ≥ε ±σ≡Γσ≡ ΓετΓ≡α∙ασ≥ ±εεß∙σφΦσ "401 redirect" Σδ  εßσ±∩σ≈σφΦ  ∩≡ ∞εΘ ταπ≡≤τΩΦ ≤Ωαταφφεπε εß·σΩ≥α.
Location:
╥ε µσ ±α∞εσ, ≈≥ε Φ URI, φε Σαφφα  ⌠ε≡∞α ±σΘ≈α± φσ Φ±∩εδⁿτ≤σ≥± . ╧α≡α∞σ≥≡ value ═┼ Σεδµσφ ß√≥ⁿ Γτ ≥ Γ ≤πδεΓ√σ ±ΩεßΩΦ.

─≡≤πΦσ ταπεδεΓΩΦ

─≡≤πΦσ ταπεδεΓΩΦ ∩σ≡σΣα■≥±  ΩδΦσφ≥≤ Γ ≥ε∞ ΓΦΣσ, Γ Ωε≥ε≡ε∞ εφΦ ∩≡σΣ±≥αΓδσφ√.

╧≡ ∞εΘ ΓετΓ≡α≥

╤σ≡Γσ≡ ∩ετΓεδ σ≥ Ωεφσ≈φε∞≤ ∩≡ΦδεµσφΦ■ ε±≤∙σ±≥Γδ ≥ⁿ ∩≡ ∞εΘ ΓετΓ≡α≥ ≡στ≤δⁿ≥α≥α τα∩≡ε±α ΩδΦσφ≥≤. ▌≥ε ε±≤∙σ±≥Γδ σ≥±  ∩ε±≡σΣ±≥Γε∞ ΓΩδ■≈σφΦσ Γ ταπεδεΓεΩ ΓετΓ≡α∙ασ∞επε ±εεß∙σφΦ  σπε Φφ⌠ε≡∞α÷Φεφφεπε ∩≡ε≥εΩεδα. ▌≥ε ∩ετΓεδ σ≥ CGI ∩≡επ≡α∞∞α∞ ⌠ε≡∞Φ≡εΓα≥ⁿ φσ∩ε±≡σΣ±≥Γσφφ√Θ ε≥Γσ≥ ΩδΦσφ≥≤ ± ≤ΩαταφΦσ∞ HTTP ταπεδεΓΩα ßστ ∩≡σΣΓα≡Φ≥σδⁿφεΘ εß≡αßε≥ΩΦ σπε ±σ≡Γσ≡ε∞..

╤σ≡Γσ≡ αφαδΦτΦ≡≤σ≥ ≡στ≤δⁿ≥α≥ τα∩≡ε±α, ∩ε∞σ∙ασ∞Φ√Θ CGI ∩≡επ≡α∞∞εΘ Γ Γ√⌡εΣφεΘ ⌠αΘδ (Output File), Φ, σ±δΦ ∩σ≡Γα  ±≥≡εΩα "HTTP/1.0", εφ ∩≡σΣ∩εδαπασ≥, ≈≥ε ±εεß∙σφΦσ ±εΣσ≡µΦ≥ ∩εδφ√Θ HTTP ε≥Γσ≥ Φ ε≥±√δασ≥ σπε ΩδΦσφ≥≤ ßστ ≤∩αΩεΓΩΦ.

 

Ω επδαΓδσφΦ■