본문 바로가기
Python notes/Web Programming

파이썬으로 웹프로그래밍) 1. 웹프로그래밍의 이해 (1)

by 성실한 나무 2019. 8. 26.

#0.

지난 번, 파이썬으로 크롤러 만들기를 어찌어찌 해본 후, 한참을 파이썬 공부를 놓고 있었다.

이제 조금씩 여유가 생기니 다시 책들을 들여다보고 있다.

 

집에 쌓여있는 책들 중에서 하나 골라서 공부해 봐야지 하고 선택한 책이 바로:

한빛미디어에서 출판된 <Django(장고)로 배우는 파이썬 웹프로그래밍>이다.

못 알아 듣는 내용도 많을테지만 한자 한자 더듬더듬 읽어가 보련다.

 

 

#1. 웹 프로그래밍의 이해

 

 1) 웹 프로그래밍? HTTP 프로토콜로 통신하는 클라이언트와 서버를 개발하는 것

    - 보통은 장고와 같은 웹 프레임워크를 사용해서 웹 서버를 개발하는 것

    - 예시) 웹 클라이언트인 브라우저가 요청하고 네이버 서버 같은 웹 서버가 응답하도록 개발

 

 2) 웹 클라이언트?

    - 웹 브라우저, 리눅스 curl 명령, Telnet, 직접 만든 클라이언트(*파이썬으로 웹 클라이언트 만들 수 있음)가 웹 클라이언트의 역할을 함

    - 어떤 웹 클라이언트를 쓰든지 웹 서버는 동일한 요청에 대해 동일한 응답을 줌

 

 3) HTTP 프로토콜과 메시지

    - HTTP는 웹 서버와 웹 클라이언트 사이에서 데이터를 주고 받기 위해 사용하는 통신 방식

    - HTTP 메시지는 클라이언트에서 서버로 보내는 요청 메시지, 서버에서 클라이언트로 보내는 응답 메시지의 2가지가 있음

    - HTTP 메시지 구조: 스타트라인 (요청 or 상태 라인), 헤더, 빈줄 (헤더와 바디를 구분하기 위함), 바디

      *요청 메시지 예시: 첫째줄 요청라인 GET /book/shakespear HTTP/1.1 (요청방식, 요청 URI, 프로토콜 버전)

                                  둘째줄 헤더 Host: exmaple.com:8080 (이름: 값)

      *응답 메시지 예시: 첫째줄 상태라인 HTTP/1.1 200 ok (프로토콜 버전, 상태 코드, 상태 텍스트)

                                  둘째줄 헤더 Content-Type: application/xtml+xml; charset=utf-8

                                  셋째줄 빈줄

                                  넷째줄 바디 (HTML 코드들..)

 

 

 다음 포스팅에 계속...

댓글