
1. 네트워크
네트워크
- 여러대의 컴퓨터 또는 장비가 서로 연결되어서 정보를 주고받을 수 있게 도와주는 기술
- 컴퓨터, 라우터, 스위치, 허브 등의 장비들이 각각의 역할을 수행하여 정보를 주고받음
- IP주소, 서브넷 마스크, 게이트웨이등의 정보를 설정하고 네트워크 프로토콜을 이용하여 통신
2. Client와 Server

-
Client
- 네트워크를 이용하여 server 측에 서비스 요청을 의뢰하는 측
- 웹 브라우저, 데스크톱 프로그램, 모바일 앱, 다른 서버에 요청을 보내는 서버 등
-
Server
- 클라이언트들이 요구하는 각종 서비스를 제공하는 측
- 네트워크를 이용하여 클라이언트 측으로부터 서비스의 요청을 받는 측
-
IP 주소
- 사용자의 요청이 서버에 도달하기 위해 필요한 서버의 정보
- 네트워크망에서 컴퓨터를 식별하기 위한 위치 주소
- 네트워크상에서 데이터 송/수신 기준
3. 웹 서버
- 클라이언트의 요청을 응답해주는 통신을 하는 일종의 컴퓨터
- 웹 서버의 기본 동작 원리
-
- 브라우저(client)를 통해 HTTP Request로 웹사이트를 웹서버에 요청
-
- 이후 웹 서버는 요청을 승인하고 HTTP Response를 통해 웹사이트 데이터를 브라우저에 전송
-
- 브라우저는 서버에서 받아온 데이터를 이용해 웹사이트 생성
-
4. API
API(Application programming interface)
- 다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙을 정의한 것
- 서로 다른 애플리케이션이 약속한 방식의 API 요청을 수행하면 정해진 결과물을 반환하는 것
인터페이스(Interface)
- 사용자가 기기를 쉽게 동작시키는데 도움을 주는 시스템
5. RESTful API
REST(Representational State Tranfer
- API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처
- 인터넷과 같은 복잡한 네트워크에서 통신을 관리하기 위한 지침
- REST API : REST 아키텍처 스타일을 따르는 API
- RESTful 웹 서비스 : REST 아키텍처를 구현하는 웹 서비스
API 리소스 식별자를 중복 없이 고유하게 만들고 해당 API에 적절한 HTTP 메서드를 사용함 = RESTful하게 설계함
