8/28_10일차

자햐·2024년 9월 3일

교육

목록 보기
9/51

백엔드 다시 돌아보기

1) 사용자(클릭하는 당사자)
2) 프론트엔드 여기서부터가 백엔드
(클라이언트) -요청->| (웹 서버) -요청-> (웹 어플리케이션 서버)-요청->(데이터베이스)
<-응답- | <-응답- <-응답-

웹 서버(Web Server)은 정적 페이지에 대해 대응합니다.
동적 페이지에 대한 처리는 직접 처리하지 않고, 웹 어플리케이션 서버에게 전달합니다.

  • 정적 페이지란, 화면의 내용/데이터 등의 변동이 없는 페이지를 말합니다.
  • 동적 페이지란, 데이터 처리/연산을 통해 화면의 내용, 데이터가 변하는 페이지를 말합니다.

웹 어플리케이션 서버(Web application server)은 동적페이지를 처리합니다.
필요한 데이터 연산을 위해 데이터베이스와 연결되어 있으면서 데이터 조회/수정/삭제에 대한 처리를 요청합니다.

  • 데이터베이스란, 데이터를 통합하여 효율적으로 관리하기 위한 데이터 집합체를 말합니다.

백엔드 개발자는 API를 만든다.

Applicaion programming interface

API라는 인터페이스를 통해 개인은 서울교통공사에게서 요청한 정보를 얻을 수 있다!

(개인) -요청-> (API : 나 이 데이터 좀 줘 (서울 교통 공사)
<-응답- : 나 이 데이터 연산 좀 해줘)

인터페이스? : 중간에서 양쪽에 있는 친구들을 중재, 매개체가 되어주는 역할

- GUI : graphic user interface
= 프로그램에게 명령을 내릴 때, 그래픽을 사용해서 명령을 내리는 방식
- CLI : Command Line interface
= 명령어 문장("줄") 컴퓨터에게 명령을 내리는 것

REST API? 그냥 API?

API : "데이터 아무렇게나" 주면 되는거 아냐?
(과거) HTTP 형식을 따르지 않고, 대충 끼워놓았음

HTTP 창시자 : (2000년대 초반) 형식 따르면 효율 극대화되는데?
"REST API" = HTTP규약을 잘 따른 API!

웹(=인터넷 망 속에 가상 공간) 개발자
= 인터넷을 돌아다니기 위한 규약을 지켜야함!
= HTTP를 지켜야만!

REST API : HTTP 규약을 잘 따른 API vs RESTful API : HTTP 규약을 매우 잘 따른 API

HTTP에 담아 보내야하는 것들

인터넷으로 연결된 클라이언트와 서버는 웹 프로토콜인 http(hypertext transfer protocol)를 사용하여 데이터를 주고 받음

http = 프로토콜 중 하나

"인터넷 상에서 공유/전달 하고 싶은 모든 것들은 다 http에 넣어서 보내야 한다!"

http head

http body

그럼, 이거 해달라 저거해달라 요청은 어떻게 말하지? = URL

url = uniform resource locator

인터넷 상에서 웹 페이지가 어디있는지 위치를 알려주는 것 뿐 아니라, 데이터 연산 해달라고 서버에 요청을 보내는 방법. 쉽게 말해서 웹 페이지 주소라고 할 수 있음

위치 예시 : http://localhost:8888

http://localhost:8888 -> 컴퓨터야!
http://localhost:8888/전체상품조회해줘
http://localhost:8888/상품등록해줘!

http://www.lotteon.com/display/main/lottemart

-> 롯데 계열사 중에 롯데 마트 열어줘!(/lottemart)

URL + method 연습 1

url 연습

<rest api url 규칙>

  • 대문자 x, 소문자 o
  • 언더바(_)x, 하이픈(-)o
  • 마지막에 / 포함 x
  • 행위를 포함하지 않습니다. = 목적을 포함하지 않습니다.
  • 파일 확장자 포함 x
  • 복수형을 쓴다.

url 바꾸기

그래서 이 API를 어떻게 사용하는데? (화면 실습)

쇼핑몰 메인 페이지 -> 전체 상품 조회 API -> 전체 상품 데이터를 받고 -> 받은 데이터를 페이지에 뿌려준다.

상품 상세 페이지 -> 상품1 개별 조회 API -> 데이터를 받아서 -> 틀에 맞게 뿌려준다.

상품 관리 페이지 -> 전체 상품 조회 API -> 데이터 ...

상품 수정 페이지 -> 상품1 개별 조회 API

//완료 버튼 -> 상품1 수정 API

URL + method 연습 2 => "API 설계"

  1. 상품 전체 "조회"(GET)
    (http://localhost:8888)/products

  2. 상품 id 개별 "조회"(GET)
    (http://localhost:8888)/products/{id}
    ex) http://localhost:8888/products/1 => id = 1인 데이터를 요청함
    ex) http://localhost:8888/products/2 => id = 2인 데이터를 요청함
    ex) http://localhost:8888/products/3 => id = 3인 데이터를 요청함

  3. 상품 id 개별 "수정"(PUT)
    /products/{id}

cf. 복수형으로 표현하면 좋을 이유

  • 상품"들" 중에 id값을 가지는 개별 데이터
  • 통일감
profile
산업과 예술의 만남에 있는 예비 개발자..

0개의 댓글