9월 11일 TIL

이진범·2023년 9월 11일
0

HTTP는 웹 서버와 클라이언트 간의 통신에 사용되는 프로토콜로, 클라이언트는 HTTP 요청 메시지를 서버에 보내고 서버는 HTTP 응답 메시지를 반환합니다. 요청 메시지에는 요청하는 리소스에 대한 정보가 포함되어 있으며, 응답 메시지에는 요청이 처리되는 방법과 요청한 리소스에 대한 정보가 포함됩니다.

HTTP 요청 메시지는 요청 라인, 헤더 및 선택적인 메시지 본문을 포함하여 여러 부분으로 구성됩니다. 요청 라인에는 HTTP 메소드(GET, POST 등), 요청하는 리소스의 URL 및 사용되는 HTTP 버전이 포함됩니다. 헤더는 전송되는 데이터 유형 및 인증 자격 증명과 같이 요청에 대한 추가 정보를 제공합니다. 메시지 본문에는 폼 데이터와 같이 서버에 보내야 하는 모든 데이터가 포함됩니다.

HTTP 응답 메시지는 상태 라인, 헤더 및 선택적인 메시지 본문을 포함하여 여러 부분으로 구성됩니다. 상태 라인에는 사용되는 HTTP 버전, 요청 결과를 나타내는 상태 코드(200 OK, 404 Not Found 등) 및 상태를 설명하는 간단한 메시지가 포함됩니다. 헤더는 반환되는 데이터 유형 및 캐싱 지시문과 같이 응답에 대한 추가 정보를 제공합니다. 메시지 본문에는 요청한 리소스 또는 오류 메시지가 포함됩니다.

HTTP 요청 및 응답 구조를 이해하는 것은 웹 애플리케이션 개발 및 개발 중 발생할 수 있는 문제 해결에 매우 중요합니다.

  1. views
    • views는 웹 애플리케이션의 비즈니스 로직을 처리하는 곳입니다.
    • 각각의 뷰는 클라이언트로부터 오는 요청(request)을 처리하고, 그에 따른 응답(response)을 생성합니다.
    • 일반적으로 Python 함수로 구현되며, Django의 HttpResponse 객체를 반환하여 웹 페이지나 데이터를 클라이언트에게 제공합니다.
    • 예를 들어, 사용자에게 홈페이지를 보여주는 뷰, 로그인 뷰, 블로그 글 목록을 보여주는 뷰 등을 정의할 수 있습니다.
  2. urls.py
    • urls.py 파일은 URL 경로와 뷰 함수 간의 매핑을 정의합니다.
    • 클라이언트의 요청 URL을 분석하고, 해당 요청을 어떤 뷰 함수로 라우팅할지 결정합니다.
profile
글 보다 코딩 먼저

0개의 댓글