1) 사용자(클릭하는 당사자)
2) 프론트엔드 여기서부터가 백엔드
(클라이언트) -요청->| (웹 서버) -요청-> (웹 어플리케이션 서버)-요청->(데이터베이스)
<-응답- | <-응답- <-응답-
웹 서버(Web Server)은 정적 페이지에 대해 대응합니다.
동적 페이지에 대한 처리는 직접 처리하지 않고, 웹 어플리케이션 서버에게 전달합니다.
웹 어플리케이션 서버(Web application server)은 동적페이지를 처리합니다.
필요한 데이터 연산을 위해 데이터베이스와 연결되어 있으면서 데이터 조회/수정/삭제에 대한 처리를 요청합니다.
API라는 인터페이스를 통해 개인은 서울교통공사에게서 요청한 정보를 얻을 수 있다!
(개인) -요청-> (API : 나 이 데이터 좀 줘 (서울 교통 공사)
<-응답- : 나 이 데이터 연산 좀 해줘)
- GUI : graphic user interface
= 프로그램에게 명령을 내릴 때, 그래픽을 사용해서 명령을 내리는 방식
- CLI : Command Line interface
= 명령어 문장("줄") 컴퓨터에게 명령을 내리는 것
API : "데이터 아무렇게나" 주면 되는거 아냐?
(과거) HTTP 형식을 따르지 않고, 대충 끼워놓았음
HTTP 창시자 : (2000년대 초반) 형식 따르면 효율 극대화되는데?
"REST API" = HTTP규약을 잘 따른 API!
웹(=인터넷 망 속에 가상 공간) 개발자
= 인터넷을 돌아다니기 위한 규약을 지켜야함!
= HTTP를 지켜야만!
REST API : HTTP 규약을 잘 따른 API vs RESTful API : HTTP 규약을 매우 잘 따른 API
인터넷으로 연결된 클라이언트와 서버는 웹 프로토콜인 http(hypertext transfer protocol)를 사용하여 데이터를 주고 받음
http = 프로토콜 중 하나
"인터넷 상에서 공유/전달 하고 싶은 모든 것들은 다 http에 넣어서 보내야 한다!"
http head

http body

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 연습
<rest api url 규칙>
url 바꾸기
상품 전체 "조회"(GET)
(http://localhost:8888)/products
상품 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인 데이터를 요청함
상품 id 개별 "수정"(PUT)
/products/{id}
cf. 복수형으로 표현하면 좋을 이유