2023. 2. 4. 21:05ㆍ카테고리 없음
웹 동작방식 이해하기
DNS(Domain Name Server)
IP 주소 | Domain 이름 |
192.168.0.123 | www.hello.com |
192.168.0.124 | www.world.com |
IP주소와 Domain 이름 사이에 중개 역할을 하는 것이다.
HTTP
웹 상에서는 HTTP 라는 프로토콜을 통해서 데이터를 송/수신 하고 있습니다.
프로토콜
서로에 대한 정보가 없는 메세지의 송/수신자가 서로 필요한 요청과 응답을 할 수 있도록 미리 규약을 정해놓은 것
API
다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙 정의
인터페이스
서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면이다. 즉, 사용자가 기기를 쉽게 동작시키는데 도움을 주는 시스템을 의미한다.
RESTful API
REST
Representationl State Transfer(REST)는 API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처입니다. REST는 처음에 인터넷과 같은 복잡한 네트워크에서 통신을 관리하기 위한 지침으로 만들어졌습니다. REST 기반 아키텍처를 사용하여 대규모의 고성능 통신을 안정적으로 지원할 수 있습니다. 쉽게 구현하고 수정할 수 있어 모든 API 시스템을 파악하고 여러 플랫폼에서 사용할 수 있습니다.
API 개발자는 여러 아키텍처를 사용하여 API를 설계할 수 있습니다. REST 아키텍처 스타일을 따르는 API를 REST API라고 합니다. REST 아키텍처를 구현하는 웹 서비스를 RESTful 웹 서비스라고 합니다. RESTful API라는 용어는 일반적으로 RESTful 웹 API를 나타냅니다. 하지만 REST API와 RESTful API라는 용어는 같은 의미로 사용할 수 있습니다.
RESTful API
RESTful API는 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스입니다.
안전하고 신뢰할 수 있으며 효율적인 소프트웨어 통신 표준을 따르므로 이러한 정보 교환을 지원합니다.
고유 리소스 식별자
서버는 고유한 리소스 식별자로 각 리소스를 식별합니다. REST 서비스의 경우 서버는 일반적으로 URL(Uniform Resource Locator)을 사용하여 리소스 식별을 수행합니다. URL은 리소스에 대한 경로를 지정합니다. URL은 웹페이지를 방문하기 위해 브라우저에 입력하는 웹 사이트 주소와 유사합니다. URL은 요청 엔드포인트라고도 하며 클라이언트가 요구하는 사항을 서버에 명확하게 지정합니다.
메서드
개발자는 종종 Hypertext Transfer Protocol(HTTP)을 사용하여 RESTful API를 구현합니다. HTTP 메서드는 리소스에 수행해야 하는 작업을 서버에 알려줍니다. 다음은 4가지의 일반적인 메서드 HTTP메서드입니다.
GET
클라이언트는 GET을 사용하여 서버의 지정된 URL에 있는 리소스에 엑세스합니다. GET 요청을 캐싱하고 RESTful API 요청에 파라미터를 넣어 전송하여 전송 전에 데이터를 필터링하도록 서버에 지시할 수 있습니다.
POST
클라이언트는 POST를 사용하여 서버에 데이터를 전송합니다. 여기에는 요청과 함께 데이터 표현이 포함됩니다. 동일한 POST 요청을 여러 번 전송하면 동일한 리소스를 여러 번 생성하는 부작용이 있습니다.
PUT
클라이언트는 PUT을 사용하여 서버의 기존 리소스를 업데이트합니다. POST와 달리, RESTful 웹 서비스에서 동일한 PUT 요청을 여러번 전송해도 결과는 동일합니다.
*데이터베이스는 효율적으로 성능 좋게 다루기 위해 존재한다.
(저장 조회 수정 삭제 등을 더 빠르고 효율적으로 처리하기 위해서, 성능상의 이점을 얻기 위해서 사용한다.)
결론
결론적으로 서버 개발에서 많이 하는 일은 "새로운 정보"와 "기존 정보"를 가지고 "정해진 로직"을 수행하는 일입니다.
위와 같은 이야기를 하기 위해서
1. 기존에 알고 있던 웹 프로그램이 어떻게 동작하는지
2. 어떻게 새로운 정보인 클라이언트의 요청이 서버로 도달하는지
3. 어떻게 기존의 정보를 저장하는지
이 세가지 맥락을 그대로 가져가면서 스프링을 시작한다.