TIL. 17 Python - 웹서버, CGI

🎈 Python(파이썬)


  • python이란? 한 줄씩 소스 코드를 해석해서 그때그때 실행해 결과를 바로 확인할 수 있는 언어

  • CGI(Common Gateway Interface 웹서버와 어플리케이션을 연동할 때 사용하는 표준화된 방법

  • 웹서버 설정을 변경

    • httpd.conf 파일 안의 DocumentRoot 경로는 웹서버에게 요청이 들어왔을 때, 이 위치에서 파일을 찾으라는 뜻이다.

    • 앞에 #이 붙은 텍스트는 주석이며, 웹서버가 무시한다.

    <Files "*.py">
        Options ExecCGI
        AddHandler cgi-script .py
    </Files>
    
    // 확장자가 .py인 파일은 cgi 방식으로 실행시킬 것이다..라는 뜻
    // 아래는 확장자가 .py인 파일은 cgi로 실행된다..라는 뜻
    
    // 내용 수정 후에는 웹서버를 재시작한다.
  • 웹서버 연동 파이썬 작업을 할 때에 에러내용을 확인하는 가장 좋은 방법은 에러로그를 확인하는 것이다.

  • header(헤더) 웹서버가 웹브라우저에 데이터를 보낼 때, 그 데이터가 무엇인지에 대한 여러 정보도 전송하는데 이것을 header라고 한다.

    • header 정보를 보낸 다음에는 반드시 줄바꿈을 해야하는데, \n(역슬래시, 알파벳n)을 붙여준다.
	print("content-type: text/html; charset=utf-8\n")
#!python
a = 3+4+5
b = a/3
print("content-type: text/html; charset=utf-8\n")
print(b)

// 위의 코드를 적고 웹서버에 실행시키면 4.0이라는 값이 출력된다.


🎈 숫자와 문자열


  • 숫자는 그냥 텍스트로 작성하면 되며, 문자열은 작은 따옴표(')를 앞뒤로 붙인다.

  • print() 파이썬의 기본적인 출력 명령어

  • \ escape, 바로 다음에 있는 문자 하나를 어떠한 기능으로가 아닌 일반 문자로 취급한다.

  • # 주석, 다음에 나오는 코드를 무시하며 메모로 사용할 수 있다.

  • \n newline(줄바꿈) 명령어이다.

  • ''' 작은 따옴표 3개를 연달아 붙인 위치의 문자는 작성한 줄바꿈 명령어를 사용하지 않아도 작성한 그대로 표현해준다.


📋 웹페이지 CGI로 구현


#!python
print("Content-Type: text/html")
print()
print('''<html>코딩한내용</html>''')

// 2열에 Content-Type을 text/html로 설정한다.

// 4열 print()에 html 작업했던 부분을 넣고, 모든 줄에 역슬래시를 치기 어려우니 백틱 3개를 활용해 문장을 완성한다.

좋은 웹페이지 즐겨찾기