web 기본개념_HTTP 통신
Written on April 14, 2019
web의 기본 개념인 http 통신에 대해 알아보자.
Server와 Client
- 서버란, 서비스를 제공하는 컴퓨터이다. 페이지의 지원이나, 공유 데이터의 처리 및 저장 등의 비즈니스 로직을 수행하며 DB와 커뮤니케이션을 수행한다.
- 웹브라우저와 같이 서버에 접속하기 위한 단말기(사용자)를 클라이언트라고 한다. 사용자의 입력을 수행하고, 서버에 대한 응답을 화면에 표시한다.
- 서버와 클라이언트의 역할을 동시에 수행하는 경우도 있는데, p2p 사이트나, 블록체인이 이에 속한다.
HTTP 통신의 특징
서버와 클라이언트는 프로토콜이라는 정해진 규약에 따라 통신하는데, HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜이다. HTTP 통신의 특징은 아래와 같다.
- Client의 요청(Request)이 있을 때만 서버가 응답(Response)하는 단방향 통신이다.
- connectionless, 즉, 계속해서 서버와 브라우저가 연결되어 있지는 않다. 서버는 클라이언트가 요청한 정보를 전송하고 곧바로 연결을 종료한다. 이는 쿠키, 세션, 토큰등을 통해 독립적 요청에 대한 연결을 유지하는 방법이 있다.
- 서버가 요구하는 API에 맞게 요청해야 응답을 받을 수 있다.
HTTP Request Method
대표적인 Request Method
- GET : 필요한 resource를 요청하여 받는 것으로 DB에는 변동이 없다.
- POST : 서버에 resource를 보내면서 생성해 달라고 요청.
- PUT : 서버에게 resource의 업데이트 하거나 resource가 없다면 새로운 resource를 생성해 달라고 요청.
- DELETE : 서버에게 resource의 삭제 요청.
HTTP Status Code
서버는 클라이언트의 요청에 응답하면서 요청이 성공적으로 완료되었는지를 알려주는 상태코드(Status Code)를 함께 보낸다. 이 코드는 100~500번대로 이루어져 있다.
- 100번 대 : 처리중에 있음
- 200번 대 : 성공!
- 300번 대 : 리디렉션, 요청을 성공적으로 처리하기 위해 추가 동작이 필요함.
- 400번 대 : 클라이언트 요청 오류
- 500번 대 : 서버 오류
👩🏻💻 배우는 것을 즐기는 프론트엔드 개발자 입니다
부족한 블로그에 방문해 주셔서 감사합니다 🙇🏻♀️
in the process of becoming the best version of myself