IT/Python-Django

Django 스터디 2일차(21.5.1)

BronxBomber 2021. 5. 1. 23:11
728x90

지난번까지는 HTTP 처리방식 부분, GET과 POST 메소드에 대해 공부하였다.

 

오늘은 URL에 대해 공부해보겠다.

 

URL은 웹 클라이언트에서 호출한다는 측면에서 볼 때, 웹 서버에 존재하는 애플리케이션에 대한 API라고 할 수 있다.

 

API: Application Programming Interface(프로그램들이 서로 상호작용하는 것을 도와주는 매개체)

API를 명명하는 규칙으로는 두가지가 있는데, 하나는 RPC이고 다른 하나는 REST방식이다.

 

RPC(Remote Procedure Module)

클라이언트가 네트워크상에서 원격에 있는 서버가 제공하는 API 함수를 호출하는 방식으로 IPC의 한 종류이다. 

일반적으로 프로세스는 자신의 주소 영역안에 존재하는 함수만 호출하여 실행이 가능하지만, RPC는 다른 주소 영역에서 동작하는 프로세스의 함수를 실행할 수 있도록 해준다. 

 

REST(Representational State Transfer)

웹서버에 존재하는 요소들을 모두 리소스라고 정의하고, URL을 통해 웹 서버의 특정 리소스를 표현한다는 개념이다.

즉, HTTP url을 통해 자원을 명시하고, HTTP 메소드를 통해 자원에 대한 CRUD Operation을 적용하는 것이다.

 

CRUD Operation?

 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다. 사용자 인터페이스가 갖추어야 할 기능(정보의 참조/검색/갱신)을 가리키는 용어로서도 사용된다. (출처: 위키백과) 상응하는 HTTP메소드는 다음과 같다. 

 

Create==Post

Read==Get

Update==Put

Delete==Delete

Head==Head

 

다음으로는 애플리케이션 서버 방식에 대해 공부해보았다. 웹 서버가 직접 프로그램을 호출하기보다는 웹 애플리케이션 서버를 통해서 간접적으로 웹 애플리케이션 프로그램을 실행하게된다.

 

웹 애플리케이션 서버: 애플리케이션 프로그램의 실행 결과를 웹 서버에 전달해줌.

웹 서버: 웹 애플리케이션 서버로부터 전달받은 응답 결과를 웹 클라이언트에 전송

 

 

이로써 Chapter 1장에 대해 공부해보았다. 각 부분마다 상세하게 구글링을 통해 더 공부할 수도 있으나 1차 목표는 Django를 빠르게 훑고 지나가는 것이 주 목적이기에 목적에 생략되는 부분이 있었다. 추후 Spring을 공부하게 될텐데 그 때는 지금보다 더 자세하게 공부하는데 주안점을 두어야 할 것 같다.

'IT > Python-Django' 카테고리의 다른 글

모델 생성하는 방법  (0) 2024.10.15
Django URL 추출하기  (0) 2024.10.15
Django 스터디 1일차(21.4.30)  (0) 2021.05.01