TIL(서버와 클라이언트)

On a regular basis·2021년 7월 28일
0
post-thumbnail
post-custom-banner

서버와 클라이언트

  • 클라이언트가 먼저 '요청'을 보내면 서버는 '응답'을 하지.
  • 일반적으로 웹서버는 물리적으로 멀리 떨어진 안전한 공간에 위치, 클라이언트는 우리가 쓰는 PC, 놋북, 스맛폰!!

🫐 클라이언트?

  • 기본적으로 '고객'이란 의미.
  • 대부분의 컴터는 네트워크에 연결되어 정보를 주고받지. 정보를 요청하는 쪽이 클라이언트고 요청을 받아서 응답하는 측이 서버.
  • 단순한 검색부터 상품 결제까지 전부 웹 서버로 요청을 보내야해. 이러한 요청은 데이터의 모음으로 네트워크를 통해 서버에게 전달되고 서버로 요청을 보낸 이후에 응답을 기다리는 것이 클라이언트의 역할.

🫐 그럼 응답을 받은 뒤에는 어떻게 할까?

  • 응답을 받은 클라이언트(우리pc)는 서버의 응답을 화면에 출력함. 이 때, 클라이언트는 어디까지나 출력만 담당, 이 정보를 생성하고 보내주는 역할은 전적으로 서버가 담당.

🫐 서버?

  • 클라이언트에게 서비스를 제공해주는 컴터. 서버는 클라이언트로부터 요청 받아서 응답을 보내주는 역할 수행. (ex) 클라이언트가 보낸 요청이 로그인 요청이라면 서버는 현재 사용자가 보낸 아디&비번 정확한지 검사하고 그 결과를 응답으로 보냄.
  • 서버는 서버프로그램을 이용해서 수많은 요청을 내부적으로 처리. 서버 프로그램이란 클라이언트에 다야한 서비스를 제공하기 위해 서버가 실행하는 프로그램. 언어 다양 - 그에 맞는 프레임 워크도 다양.

🫐 파이썬으로 웹 요청?

  • http란 웹상에서 데이터를 주고받기 위한 프로토콜이지. 그니까 클라이언트와 서버가 대화하는 방식!이라고 하면 딱 이해가 쉬울듯~! 클라이언트는 웹상에서 http를 통신 프로토콜로 사용하고 적절한 http 메서드를 이용해서 통신을 진행해야해.
    🥭 get -> 특정한 데이터 조회
    🥭 post -> 특정한 데이터 생성
    🥭 put -> 특정한 데이터 수정
    🥭 delete -> 특정한 데이터 삭제
  • 어떤 메서드를 사용할지에 따라 서버 구현이 달라질 수 있으니까 적절한 요청+응답을 해야해!

🫐 REST API?

  • 🍑 REST 🍑는 각 자원에 대해 자원의 상태에 대한 정보를 주고 받는 개발 방식. GET, POST, PUT, DELETE 등 HTTP 메서드는 각각 역할이 있지만 하나의 기준이 되는 아키텍처 필요. 그래서 REST는 서버의 자원을 어떠한 방식으로 접근하도록 해야하는 지 구체적으로 명시한 것. 특히 HTTP 프로토콜 그대로 사용하므로 웹이나 모바일 개발에서 서버-클라이언트가 통신하기에 적합한 방식임.
  • 🍑 API 🍑는 프로그램이 상호작용하기 위한 인터페이스. 서버와 클라이언트는 각각 일종의 프로그램으로 볼 수 있는데 두개가 상호작용하려면 이걸 연결하는 인터페이스가 필요해. 이걸 API라고 함.
  • 결국, RESTFUL API는 REST 아키텍처를 따르는 API를 의미해.

🫐 JSON?

  • 그러면 데이터는 어떤 형식에 따라 보낼까? 예를 들어 회원가입 요청 보낼 때 단순히 문자열로 아디-비번 이케 보내면 되는걸까? 놉! 이렇게 주고받는 데이터의 형식에 대한 표준도 존재함! REST API 사용할 때, 데이터의 형식으로는 일반적으로 JSON을 사용함.
    < 데이터를 주고받는 데 사용하는 경량의 데이터 형식 >이라고 설명할 수 있겠음 !
  • JSON 데이터는 키-값 쌍으로 이루어진 데이터 객체를 저장하고 있음.
profile
개발 기록
post-custom-banner

0개의 댓글