프론트와 벡엔드는 어떻게 서로 통신할까?

2022. 1. 2. 20:45잡다한 IT

이전시간에는 개발자의 큰 범위에 대해 알아보았다. 이제는 프론트엔드와 백엔드가 서로 어떻게 정보를 주고받는지에 대해 알아보자.

사람이 대화를 하기 위해서는 같은 언어와 같은 문법으로 대화를 해야 하는게 기본적인 규칙이다.
아버지가방에들어간다. 와 아버지가 방에 들어간다 는 다른것 처럼 말이다.
즉 먼저 이 두 환경간에 '통신'이라는 커뮤니케이션을 해야한다. 이때 필요한 규약(문법, 약속 등등)이 있는데 이것이 통신규칙 이라고 하며 이것을 http(hyper text transfer protocol)라고 한다.

일반적으로 클라이언트(프론트엔드)가 http request(요청, API(application programming interface))을 보내게 되면 서버(백엔드)에서 http response(응답)을 하는 형태가 된다. 

이 과정에서 먼저 사용자의 PC, 스마트폰 등으로 행동을 하게 되면 주변의 가까운 기지국(올레, lg등등...)으로 요청이 가게 된다. ( 와이파이의 경우도 마찬가지다) 이 기지국에서 행동을 한 사이트에 있는 서버에 요청을 보내게 된다.(해외의 경우 해저에 깔린 광케이블을, 가까운 거리는 무선통신으로, 장거리의 경우 유선통신으로 보내게 된다. 이런 케이블은 엄청나게 크고 넒고 많기 때문에 지속적으로 관리를 해 줘야한다.-지진. 동물이 손상을 입힘 등등.)

API는 서로 통신을 위해 만든 약속인데 쉽게 말해서 로그인 버튼을 클릭하면 로그인과 관련된 화면, 로직이 움직여야 한다.

예시
멕도리아에 햄버거를 먹으러 온 손님1
손님: 아이폰 시세 가 얼마에요??
직원: 그걸 왜 여기서????

이런 일이 생기면 말이 안되는것 처럼 프론트, 백엔드 간에 서로 질의응답을 올바르게 해야한다. 그래서 원할한 통신을 위해 올바른 페이지에 올바른 요청이 가도록 설정해 둬야한다. 

https://www.historyexam.go.kr/main/mainPagedo?netfunnel_key이하생략
이 링크는 한국사능력검증시험의 홈페이지의 링크이다. 자세히 보면 main/mainPagedo?...로 이어진다. 즉 홈페이지로 가기 위해서는 main/mainPagedo라는 곳으로 요청을 보내야 한다는 의미이다.

Rest API라는 것이 있는데 api의 효율을 높이기 위해 만든 하나의 약속이다.
프론트 엔드와 서버 간의 통신 효율성을 높이기 위해 어떻게 요청할것인지 응답할 것인지에 대해 정해둔 규치기다.
기본적으로 웹 페이지에서 할 수 있는 행동은 정보를 눈으로 보는것, 그것을 입력하는것, 수정, 삭제하는것 총 4가지 정도의 행동으로 볼 수 있다.
이런 행동을 하기 위해 서버에 미리 우리의 행동을 전달해 주면 훨씬 좋지 않을까? 라는 기반을 바탕으로 method라는 것을 만들어 미리 처리할 수 있도록 만들어 준다.
ex)
정보보기 : method : GET api : api/show
정보입력 : method : POST api : api/show
정보수정 :  method : PUT api : api/show
정보삭재 :  method : DELETE api : api/show

각각의 명령어(GET POST PUT DELETE )등을 통해서 하나하나 정할 수 있다.

'잡다한 IT' 카테고리의 다른 글

The Chromium Project 0-day 이슈  (0) 2022.04.06
JSON? 제이슨? 제이슨!  (0) 2022.01.12
개발자란 무엇일까?  (0) 2022.01.01
Log4J 문제의 후속내용(업데이트재귀...?)  (0) 2021.12.27
LOG4J(log4 shell)이슈  (0) 2021.12.23