Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

SYDev

[풀스택서비스프로그래밍] Lecture 02. RESTful API Client & Server 개발 본문

3학년 2학기 전공/풀스택서비스프로그래밍

[풀스택서비스프로그래밍] Lecture 02. RESTful API Client & Server 개발

시데브 2024. 10. 1. 16:52
경희대학교 이성원 교수님의 풀스택 서비스 프로그래밍 수업을 기반으로 정리한 글입니다.

 

HTTP 프로토콜 이해하기

1. HTTP Request (Methods) & Response

- HTTP Methods

REFERENCE: HTTP - The Definitive Guide, Brian Totty, and etc, O'Reilly Media, June 2009

  • GET: server에서 client에게 resource(HTML/CSS/JS, 이미지, 동영상 등)를 전송
  • PUT: client로부터 전달받은 data를 server에 저장
  • DELETE: server에서 resource를 삭제
  • POST: server gateway application으로 data를 전송

 

- HTTP Response

  • HTTP status code 200: Document returned correctly
  • HTTP status code 302: Redirect 
  • HTTP status code 404: Not Found -> can't find the resource

- HTTP Request & Response 예시

REFERENCE: HTTP - The Definitive Guide, Brian Totty, and etc, O'Reilly Media, June 2009

 

2. HTTP GET

  • 가장 일반적인 method
  • server에 resource를 보내줄 것을 요청

REFERENCE: HTTP - The Definitive Guide, Brian Totty, and etc, O'Reilly Media, June 2009

 

3. HTTP PUT

  • server의 data를 update
  • 많은 server가 PUT을 수행하기 이전 password를 필요로 함

REFERENCE: HTTP - The Definitive Guide, Brian Totty, and etc, O'Reilly Media, June 2009

4. HTTP POST

  • input data를 서버에 전송

REFERENCE: HTTP - The Definitive Guide, Brian Totty, and etc, O'Reilly Media, June 2009

5. HTTP DELETE

  • request URL에 의해 특정된 resource를 server에서 삭제 요청

REFERENCE: HTTP - The Definitive Guide, Brian Totty, and etc, O'Reilly Media, June 2009

 

JSON 활용하기

1. JavaScript Object Notation

  • JS의 data 표현 방식 -> 다른 언어에 확산
  • web browser는 js 번역기를 내장 -> 웹 서비스에 유리
  • 문자열로 이루어져 있으며, JSON 객체로 변환 가능
  • 확장자 .json과 타입 application/json 사용이 활용
  • 무상태, 실시간 server 대 browser 통신 protocol로 많이 활용
  • 기본적인 programming language의 data 형태를 지원
    • 정수, 실수(고정/부동 소수점), 문자열
    • 배열: [ a, b, c ]
    • 객체: { "member1" : "value", "member2" : "value2" }
  • 순수한 "data format" -> method 표현 불가
  • 문자열과 property 이름 작성 시에 큰 따옴표만을 사용

2. JSON example

 

RESTful API 구현을 위한 CRUD 방법론

  • REST(REpresentational State Transfer): 웹에서 데이터를 전송하고 처리하는 방법을 정의하는 철학
  • RESTful API: REST 철학을 어떻게 실행할 것인지를 정의하는 구현 가능 규격

1. RESTful API 구현을 위한 CRUD 방법론

  • JSON 포맷으로 데이터 교환
  • 통상 CRUD로 불리는 원칙에 따라 HTTP method 사용
    • Create: POST를 사용하여 데이터를 생성
    • Read: GET을 사용하여 정보를 읽음
    • Update: PUT을 사용하여 이미 만들어진 정보를 수정
    • Delete: DELETE를 사용하여 이미 만들어진 정보를 삭제
  • 웹 주소(URL)를 /{기능 이름}/{Key 값}의 형태로 작성 -> 서버가 제공하는 기능 중 특정 기능을 요청 -> 기능의 대상이 되는 데이터를 Key에 의해 식별