웹서버(아파치 등)와 Application(python, ruby, java...) 간에는 서로 표준화된 약속이 필요 하며, 그 역할을 하는 것이 CGI 다.
예를 들어 컨센트, 컨센트 모양에 따른 정격 전압, 등.. 절대로 바뀌지 않는 표준이 있는데,
그러한 역할을 하는 것이 CGI이다.
CGI 이후에 등장한 것들을 사용하고 있기는 함. wsgi 등...
아무튼,
내가 이전 블로그 글에서 노가다 후 얻어낸 정보에 대한 값이 어떻게 할당되는 지 알게 되었다.

내가 해당 코드에서,
environ 파라미터에 저장되어 있는 'CONTENT_TYPE', 'QUERY_STRING'.. 등의 정보를 어디서 얻는지 모르겠다 했었는데, 이고잉 센세가 알려주신 cgi.test()로 완전히 해결되었다.
cgi.test()를 서버에서 불러오고, 그 다음 쿼리 값을 ?id=HTML로 설정하였다.

그럼 이러한 어마무시한 정보가 나온다.

이러한 정보들을 FieldStorage()에서 사용하는 것 같다.
그리고, & 연산자를 이용해서 name이라는 쿼리도 하나 추가해보았다.

추가하면,

MiniFieldStorage 인스턴스가 두 개가 생긴다. (id, name 각각)
그리고 QUERY_STRING에는 다음과 같은 값이 할당된다.

CGI의 핵심은, 웹서버가 사용자의 요청을 받았을 때, 그 요청과 관련해서 웹 애플리케이션이 어떤 처리를 할 수 있도록, 쿼리스트링과 같은 약속돼있는 이름의 데이터를 "환경 변수"라는 형태로 전달해주는 것이다.