web 기본개념_HTTP 통신

Written on April 14, 2019

web의 기본 개념인 http 통신에 대해 알아보자.

http

Server와 Client

  1. 서버란, 서비스를 제공하는 컴퓨터이다. 페이지의 지원이나, 공유 데이터의 처리 및 저장 등의 비즈니스 로직을 수행하며 DB와 커뮤니케이션을 수행한다.
  2. 웹브라우저와 같이 서버에 접속하기 위한 단말기(사용자)를 클라이언트라고 한다. 사용자의 입력을 수행하고, 서버에 대한 응답을 화면에 표시한다.
  3. 서버와 클라이언트의 역할을 동시에 수행하는 경우도 있는데, p2p 사이트나, 블록체인이 이에 속한다.

HTTP 통신의 특징

서버와 클라이언트는 프로토콜이라는 정해진 규약에 따라 통신하는데, HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜이다. HTTP 통신의 특징은 아래와 같다.

  1. Client의 요청(Request)이 있을 때만 서버가 응답(Response)하는 단방향 통신이다.
  2. connectionless, 즉, 계속해서 서버와 브라우저가 연결되어 있지는 않다. 서버는 클라이언트가 요청한 정보를 전송하고 곧바로 연결을 종료한다. 이는 쿠키, 세션, 토큰등을 통해 독립적 요청에 대한 연결을 유지하는 방법이 있다.
  3. 서버가 요구하는 API에 맞게 요청해야 응답을 받을 수 있다.

HTTP Request Method

대표적인 Request Method

  1. GET : 필요한 resource를 요청하여 받는 것으로 DB에는 변동이 없다.
  2. POST : 서버에 resource를 보내면서 생성해 달라고 요청.

get vs post

  1. PUT : 서버에게 resource의 업데이트 하거나 resource가 없다면 새로운 resource를 생성해 달라고 요청.
  2. DELETE : 서버에게 resource의 삭제 요청.

HTTP Status Code

서버는 클라이언트의 요청에 응답하면서 요청이 성공적으로 완료되었는지를 알려주는 상태코드(Status Code)를 함께 보낸다. 이 코드는 100~500번대로 이루어져 있다.

  • 100번 대 : 처리중에 있음
  • 200번 대 : 성공!
  • 300번 대 : 리디렉션, 요청을 성공적으로 처리하기 위해 추가 동작이 필요함.
  • 400번 대 : 클라이언트 요청 오류
  • 500번 대 : 서버 오류


👩🏻‍💻 배우는 것을 즐기는 프론트엔드 개발자 입니다
부족한 블로그에 방문해 주셔서 감사합니다 🙇🏻‍♀️

in the process of becoming the best version of myself