웹의 동작방식

 

IP 주소란?

  • 거대한 네트워크망에서 컴퓨터를 식별하기 위한 위치 주소 
  • 네트워크상에서의 데이터 송/수신은 이 주소를 기준으로 이루어지고 있다.

 

브라우저란?

  • 크롬, 사파리, 엣지와 같이 웹페이지, 이미지, 비디오등의 컨텐츠를 송/수신하고 표현해주는 소프트웨어
  • 브라우저의 역할 : 컨텐츠를 송/수신, 컨텐츠를 표현
  • 브라우저는 메세지가 OSI 7 계층을 거쳐 랜선을 통해 0과 1로 변경되어 흘러갈 수 있도록 도와주는 응용프로그램이자, 클라이언트와 상호작용해서 요청을 보내는 응용프로그래밍 계층의 첫 출발점

 

DNS(Domain Name Server)란?

  • IP주소 대신 abcdefg.com과 같은 도메인 이름 을 입력해서 원하는 웹 사이트로 이동하게 해주는 역할
  • 요청을 받아줄 서버의 IP주소(192.168.0.123)와 도메인 이름을 사이를 중개해주는 중개 서버

 

HTTP란 ??

  • 멀리 떨어져서 서로에 대한 정보가 없는 메세지의 송/수신자가 서로 필요한 요청과 응답을 할 수 있도록 미리 규약을 정해놓은 것을 프로토콜이라고 하고, 웹 상에서는 HTTP 라는 프로토콜을 통해서 데이터를 송/수신 하고 있다.

 

API(application programming interface)

  • 다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙
  • 개발자는 다른 애플리케이션이 프로그래밍 방식으로 애플리케이션과 통신할 수 있도록 API를 표시하거나 생성한다.
  • 웹 API는 클라이언트와 웹 리소스 사이의 게이트웨이라고 생각할 수 있다.

 

인터페이스(interface)

  • 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면이다.
  • 즉, 사용자가 기기를 쉽게 동작시키는데 도움을 주는 시스템을 의미한다.
  • 컴퓨팅에서 컴퓨팅 시스템끼리 정보를 교환하는 공유 경계이다. 이러한 교환은 소프트웨어, 컴퓨터 하드웨어, 주변기기, 사람간에 이루어질 수 있으며, 서로 복합적으로 이루어질 수도 있다.

 

RESTful API란?

Representational State Transfer(REST)는 API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처입니다. REST는 처음에 인터넷과 같은 복잡한 네트워크에서 통신을 관리하기 위한 지침으로 만들어졌습니다. REST 기반 아키텍처를 사용하여 대규모의 고성능 통신을 안정적으로 지원할 수 있습니다. 쉽게 구현하고 수정할 수 있어 모든 API 시스템을 파악하고 여러 플랫폼에서 사용할 수 있습니다.

  • 서버의 api가 적절하게 http를 준수하며 잘 설계되어있으면 RESTful 하게 설계되어 있다는 것
  • 예를들어 api의 리소스 식별자를 ex - (”/”) 중복 없이 고유하게 잘 만들고,
  • 해당 api에 적절하게 http메서드를 사용했다면, RESTful하게 설계했다고 볼 수 있다.

 

데이터베이스

데이터베이스는 데이터를 “효율적으로 성능 좋게” 다루기 위해 존재합니다.

즉 더 많이 저장하기 위해서가 아니라, 저장 조회 수정 삭제등을 더 빠르고 효율적으로 처리하기 위해서, “성능상의 이점”을 얻기 위해서 사용한다고 생각하면 좋을 것 같습니다.

이러한 맥락에서 데이터를 사용,활용하는 주체에 따라서 더 효율적인 방법이 각각 다르다 보니 다양한 형식의 데이터베이스가 존재하게 됩니다.

 

결론

결론적으로 서버 개발에서 그래도 가장 많이 하는 일은, “새로운 정보”와 “기존의 정보”를 가지고 “정해진 로직”을 수행하는 일

 

+ Recent posts