Byeonguk Kim

안녕하세요. 29살의 조금은 늦은 나이로 새롭게 개발자로 시작하는 신입 개발자입니다. 포트폴리오 [https://deaguowl.github.io]

HTML 06. Server만들기(POST 및 CGI)

30 Apr 2019 » HTML

2019.04.30 HTML을 통한 간단한 서버 구축하기2(POST)

# 질문에 답하기

CGI

Common Gateway interface CGI 단점 : 요청이 있을 때마다 프로세스(응용프로그램)을 새로 실행 CGI 장점: 특별한 추가 프로그램 없이도 여러 언어의 스크립트 실행 가능

  • 특정 위치에 있는 것을 가지고 와야 할 때 쓰면 된다.

권한주기 (해당 파일마다 적용해줘야한다.)

  • chomod ugo+x cgi/test.py
  • #!를 써서 파이썬 경로를 써줘야한다.
  • which python3

구현

스크린샷 2019-04-30 오후 4 52 37

  • 해당 경로를 지정해줘야한다.
  • 해당 경로 파일에는 #!/usr/local/bin/python3이라는 python 경로를 지정해줘야한다.

test.py

스크린샷 2019-04-30 오후 4 54 46

  • 이렇게 한 뒤에 서버에 접속해보면 test.py의 자료를 가지고 온다.

POST

  • GET의 폼을 톨해 받은 자료를 POST로 받아와 해석하기
  • 폼을 통해 키와 몸무게를 받아 BMI 지수 출력해주기

구현

스크린샷 2019-04-30 오후 4 57 03

  • form_html에서 받은 자료를 method=’POST’로 하여 POST로 보내고 포스트에서 해당 내용을 받아서 처리해준다.
  • 포스트에 담겨서 오는 내용은 주소창에 있는 자료를 해석하는게 아니므로 보안이 철저하지만 그만큼 해석하는게 쉽지 않다.
  • self.rfile.read 및 parse_qs를 사용한다.