[코낭] SEOUL G-캠프 Django 1강

최정윤·2023년 7월 5일
0

코낭

목록 보기
20/41

[T24] 장고(Django) 01강_웹프로그래밍과 Django

1-1. 네트워크

  • 컴퓨터 외 세상의 모든 사물이 네트워크로 연결되어 있다.
  • 네트워크와 웹서비스는 무슨 관계일까.
  • pc, 클라이언트, 클라우드, 모바일 등 모든 것이 연결되어 있다.

1-2. client와 server

client

  • device들에는 기본 브라우저가 존재 -> 이 모든 것이 클라이언트이다.
  • 브라우저를 통해서 특정한 사이트에 들어가서 제공하는 서비스를 이용할 수 있기 때문이다.
  • 제공해주는 것이 서버, 제공받아 사용하는 것이 클라이언트
  • 앱 또한 클라이언트가 될 수 있다.
  • SSH, telnet 등도 클라이언트이다.
  • 서버의 정보를 보거나 컨트롤하기 원한다면 모두 클라이언트이다.
  • 랩탑, PC, 태블릿, 스마트폰에 설치되어 구동된다.

server

  • 특정 도메인이나 프로토콜을 이용해 서버에 접속
  • 특정한 데이터가 모여있는 곳이다.

HTTP 프로토콜

  • client -> server : request
  • server -> client : response

1-3. HTTP의 특징

  • 클라이언트가 서버에 데이터를 요청
  • 서버는 그에 대한 데이터를 찾고 가공하여 제공해준다.
  • 요청이 모두 완료되면 연결을 끊어버린다.
  • 끊는 이유?
    • N대 1의 관계이므로 한꺼번에 여러 요청을 받게 되는데 모든 사람의 연결고리를 연결한다면 서버가 폭파될 것이다.
    • 서버의 부담을 줄이기 위해.
  1. 서버에 요청, 연결
  2. 요청에 따른 작업
  3. 클라이언트에 응답
  4. 연결 해제
  • 연결을 유지하기 위해서 쿠키 또는 세션을 이용한다.
    • 매 페이지를 이동할 때마다 연결이 끊어져 버리면 너무 불편할 것이다.
    • 회원정보는 유지하고 싶을 때 이용하는 방법이다.
    • 데이터가 PC에 머물면 쿠키, 데이터가 서버에 머물면 세션이다.
    • 한번 접속할 때 자동으로 쿠키생성하고 통신할 때 비교하며 연결을 유지하는 방식이 쿠키
    • 서버에서 세션값을 생성하고 통신할 때 비교하며 연결을 유지하는 방식이 세션

1-4. HTTP 처리 방식

client - server

  • POST: 새로운 데이터를 server에 입력할 때 (client -> server)
  • GET: 어떤 데이터를 server에서 얻길 원할 때 (server -> client)
  • PUT: 기존 server의 내용을 수정하고 싶을 때
  • DELETE: 기존 SERVER의 내용을 삭제하고 싶을 때

-> html에서는 post와 get 방식만 form태그로 지원한다.

server - DB

  • create: 새로운 데이터 생성
  • read: 조회
  • update: 수정
  • delete: 삭제

1-5. POST와 GET

GET

  • URL에 데이터가 노출됨
  • 도메인 뒤에 query string이 따라 붙어 날아간다.
  • 데이터 길이에 제한 있음
  • 상대적으로 보안에 취약하다.

POST -> 장고에서는 대부분 post 사용

  • 요청 메세지에 데이터를 담아서 사용한다.
  • 상대적으로 보안에 강하다.
  • django에서 주로 사용한다.

1-6. URL

  • URL에 비해 REST URL이 매핑을 통해 간결해진다.

1-7. REST와 Django url맵핑

  • url뒤에 붙는 이름의 함수를 호출해라.

1-8. 서버 구성

웹 서버

  • 주로 정적인 데이터 요청 처리
  • 비교적 간단한 데이터 처리 ex) 이미지 등
  • 동적인 데이터 요청 시 애플리케이션 서버에 전달

애플리케이션 서버

  • 주로 동적인 데이터 요청 처리 ex) 날짜에 따른 날씨 데이터
  • Database 연동
profile
개발 기록장

0개의 댓글