“우린 왜 이렇게 커뮤니케이션이 안되는거야!”
이처럼, 웹 프로그래밍 세계에도 서로 대화가 필요합니다. 이를 웹 통신이라고 해요. 이 대화방법은 보통 ‘데이터’로 이루어집니다. 대상은 누구인가요? 바로 서버(웹 서버)와 클라이언트(웹 브라우저) 입니다.
웹 통신은 서버와 클라이언트간의 대화이다.
사람들끼리 대화를 하기 위해서 언어적, 문화적으로 정립된 약속이 있죠. 이처럼 웹 또한 서버(웹 서버)와 클라이언트(웹 브라우저)가 대화하기 위해 서로 약속된 방식이 필요합니다. 그 방식대로 서로 데이터를 주고 받아야만 “오해”가 없어요. 즉, “오류”가 없습니다.
약속을 우리는 프로토콜(protocol)이라고 해요.
특히, 웹에서 서버 ↔ 클라이언트간 주고 받은 상호간의 약속(프로토콜)을 HTTP 프로토콜이라고 해요.
이제 감이 잡히시나요?
웹에서는 브라우저와 서버가 데이터를 주고 받기 위해 HTTP 프로토콜을 사용하고 있어요. 우리처럼 프론트엔드 개발을 하는 사람이면 반드시 이 약속을 알아야만 더 깊은 수준의 개발을 할 수 있겠죠 😎
서버와 클라이언트가 서로 데이터를 주고 받기(대화하기) 위해서는 항상 ‘요청(request)’을 해야 하구요, 그에 따른 ‘응답(response)’을 줍니다. 대화랑 똑같죠?
보통 클라이언트가 대화를 시도하구요. 서버는 요청을 받아, 그에 따른 응답을 주는 쪽을 의미한답니다.
우리는 이미 url이라는 용어는 많이 들어보았어요. 구조를 한번 뜯어보죠.
아래와 같은 용어들이 등장해요.
protocol
domain(sub domain, domain name)
resource path(path/page)
query variable, path variable
[출처 : https://www.hostinger.in/tutorials/what-is-a-url]
(4) 메서드
이미 여러분들 알고계세요! 종류만 언급하게 넘어갈게요 🙂
GET - 조회
POST - 생성
PUT, PATCH - 수정(변경)
DELETE - 삭제
더 많지만, 필요할 때 마다 찾아봐도 전-혀 상관없습니다. 아래 주요 링크를 걸어드릴게요.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods
클라이언트가 서버에 어떤 요청(request)를 하고 나면, 서버는 그에 맞는 응답(response)를 제공합니다. 그 때, 각 응답은 상태코드를 갖는데요. 아래와 같습니다.