본문 바로가기
카테고리 없음

[TIL]내일배움캠프- Django DRF

by Byeong 2024. 4. 22.

 

지금 까지는 Django를 사용하여  web application을 제작하고 MTV를 제작했다. 

이번 주부터는 요청에 대해 처리한 결과 데이터를 응답하는 형태의 DRF( Django REST Framwork)를 공부하려고 한다.

 

주로 백앤드 부분을 공부하기 위한 방법이다.

그러기 위해서는 다시 한번 HTTP와 URI에 관해 공부해야 한다. 

어떻게 데이터를 보내고 받는지를 알아야 우리가 데이터를 어떻게 처리행 할지 알아야 하기 때문이다. 

 

HTTP 

 

HTTP는 Hyper Text Trnasfer Protocol로 web에서 이루어지는 데이터 교환의 기초이다.

request 요청과 response응답이 존재하며 

특성으로는 Stateless무상태 서버가 클라이언트의 상태를 보존하지 않으며 모든 요청과 응답에 독립적이다.

 Connectless 비연결성으로 서버의 자원을 효율적으로 사용하기 위해  요청을 받고 응답을 주고 나면 연결을 종료한다. 

 

 

http message의 구조는 http header로 주로 요청에 대한 설명과 중요 내용이 담겨 있고 http body는 요청에 관련된 내용이 담겨 있다.

 

 

HTTP request methods 

 

HTTP 요청 메서드로 주로 주어진 리소스에 수행하길 원하는 행동을 나타낸다. 주로 데이터를 받는 GET과 POST만 사용했지만 이 외에도 몇 가지 더 있다. 

 

 

HTTP Status code 

 

 HTTP 요청에 대해 성공여부는 보여주는 코드이다. 

1xx : Informational Response
2xx : Successful Response 
3xx : Redirection Response
4xx : Client Error Response 
5xx : Server Error Response

 

1xx, 2xx, 3xx는 성공한 상태이고 4xx, 5xx는 성공을 하지 못한 상태이다. 

몇 가지는 필수로 암기해 두는 것이 좋아서 정리한다. 

200 OK: 에러없이 요청이 성공
201 Created : 요청에 성공했고 새로운 데이터가 만들어짐 
202 Accepted : 요청은 정상적이나 아직 처리가 완료되지 않음
204 NO content : 요청은 성공적으로 처리했으나 전송할 데이터가 없음

 

 

4xx 번디는 client 잘못으로 발생하는 error 코드이다.

400 Bad request : 클라이언트의 요청이 잘목되었음, 서버는 해당 요청을 처리 하지 않음
401 Unauthirized : 클ㄹ라이언트가 인증이 되지 않았거나 인증정보가 유효하지 않음
403 Forbidden : 서버에서 요청을 이해했으나 금지된 요청, 요청에 대한 자원이 있으나 수행할 권한이 없음.
404 Not Found : 요청한 자원을 찾을 수 없음

 

5xx 번대는 server 잘 목으로 발생한다.

500 Internal server error :  요청에 대해 서버가 수행하지 못하는 상황, 
서버가 동작하지 않는다는 포괄적인 의미가 내포됨
503 cervice unavailable : 서버가 요청을 처리할 준비가 되지 않았음, 서버가 다운되었거나 일시적으로 중단되 상태

 

 


URL

 

URL은 통합자원 위치를 의미하고 자원을 식별하기 위해 사용되며 통합 자원 식별자인 URI에 포함되며 URN과 URL이 하위 개념이다.

URN은 통합 자원 이름이다. URN은 사용 빈도가 낮아 URL을 URI을 같은 의미로 사용하기도 한다.