[DRF] 1 HTTP와 웹의 동작 방식

justyoon·2023년 4월 21일
0
post-thumbnail

이 글은 KDT 실무형 AI 웹 개발자 양성과정DRF를 활용한 Restful한 백엔드 만들기강의를 정리한 내용입니다. 수정 및 변경사항이 있을 수 있습니다.

Checklist

  • 프론트엔드와 백엔드의 역할을 이해한다.
  • HTTP 메시지의 구조를 이해한다.
  • Request와 Response 메시지의 역할을 이해한다.
  • HTTP 상태코드의 역할을 이해한다.
  • HTTP 헤더의 역할을 이해한다.
  • 웹의 요청 흐름을 이해한다.
  • State와 Stateless의 뜻을 이해한다.
  • RESTful API 설계의 의미를 이해한다.

FAQ

참고영상 : JSON의 탄생 | 파싱 vs 시리얼라이징 | JSON vs XML |
Q: JSON에서는 꼭 따옴표를 ' 대신에 " 를 써야합니까?
A: Python에서는 따옴표 사용에 관대하지만 JSON은 반드시 큰 따옴표로 써주는 것이 규격입니다.


프론트엔드와 백엔드의 역할

프런트엔드 개발자는 HTML, CSSJavaScript와 같은 웹 기술을 사용하여 사용자 인터페이스, 레이아웃, 설계 및 상호 작용과 같은 사용자가 상호 작용하는 웹 사이트 또는 응용 프로그램의 부분을 만드는 파트를 담당합니다.

반면에 백엔드 개발자는 응용프로그램의 서버 측에서 데이터베이스 관리, 서버 요청 처리 및 웹 사이트 또는 응용프로그램의 보이지 않는 여러... 작업에 중점을 둡니다. 일반적으로 PHP, Python 또는 Ruby와 같은 프로그래밍 언어와 Node.js, Flask, Django 또는 Ruby on Rails와 같은 프레임워크를 사용합니다.


HTTP 메시지의 구조

HTTP는 웹을 통해 데이터를 전송하는 데 사용되는 프로토콜입니다. HTTP 메시지는 웹 브라우저서버가 서로 통신하기 위해 데이터를 송수신하는 방식으로 (클라이언트 → 서버로 보내는) 요청 메시지(서버 → 클라이언트로 보내는) 응답 메시지로 구성됩니다.


Request와 Response 메시지의 역할

요청 메시지는 클라이언트(일반적으로 웹 브라우저) → 서버로 전송되는데 특정 웹 페이지 또는 리소스와 같이 클라이언트가 서버에서 원하는 내용에 대한 정보가 포함됩니다.

응답 메시지는 요청 메시지에 대한 응답으로 서버 → 클라이언트로 다시 전송됩니다. 응답 메시지에는 웹 페이지 또는 이미지와 같은 요청된 데이터가 포함됩니다.


HTTP 상태코드의 역할

HTTP 상태 코드는 요청의 성공 여부를 나타내며 특정 HTTP 요청의 상태에 대한 정보를 제공하는 세 자리 숫자입니다. 예를 들어 상태 코드가 200이면 요청이 성공했음을 의미하고 404이면 요청된 리소스를 찾을 수 없음을 의미합니다.


HTTP 헤더의 역할

HTTP 헤더는 HTTP 요청 또는 응답과 함께 보낼 수 있는 추가 정보입니다. 요청 또는 응답에 대한 추가 컨텍스트 또는 메타데이터를 제공합니다. 예를 들어, 헤더에는 요청하는 브라우저, 요청하는 데이터 유형 또는 사용자의 언어 환경설정에 대한 정보가 포함될 수 있습니다.


웹의 요청 흐름

사용자가 웹 사이트 또는 응용 프로그램을 요청할 때 일반적으로 요청은 여러 단계를 거칩니다.

  • 먼저, 요청이 클라이언트에서 서버로 전송됩니다.
  • 그런 다음 서버는 요청을 처리하며, 데이터베이스에 접근하거나 다른 계산을 수행할 수 있습니다.
  • 마지막으로, 서버는 웹 페이지 또는 이미지와 같은 요청된 데이터를 포함하는 응답을 클라이언트로 다시 보냅니다.

State와 Stateless의 뜻

상태 저장 응용 프로그램은 로그인 자격 증명 또는 검색 기록과 같은 사용자와의 이전 상호 작용에 대한 정보를 기억합니다. 이와 대조적으로 상태 비저장 응용 프로그램은 사용자와의 이전 상호 작용에 대한 정보를 기억하지 못해 확장 및 유지보수가 더 쉬운 경우가 많지만 클라이언트 측에서 더 많은 작업이 필요할 수도 있습니다.


RESTful API 설계의 의미

RESTful API는 일관성 있고 예측 가능하며 사용하기 쉬운 웹 기반 API를 설계하는 방법입니다. HTTP 메서드를 올바르게 사용하고 일관된 리소스 구조를 제공하는 것과 같은 특정 설계 원칙을 따릅니다. 주로 웹 애플리케이션 및 웹 서비스에 사용되며, 개발자는 RESTful API를 통해 표준화된 방식으로 서로 다른 소스에서 데이터 및 기능을 생성하고 사용할 수 있습니다.

profile
with gratitude, optimism is sustainable

0개의 댓글