02.03 웹 동작방식 이해하기

2023. 2. 3. 12:35개발일지

IP

  • 거대한 네트워크망에서 사람들의 컴퓨터를 식별하기 위한 위치 주소

 

브라우저

  • 우리가 사용하고 있는 크롬, 사파리, 엣지와 같이 웹페이지, 이미지, 비디오등의 컨텐츠를 송/수신하고 표현해주는 소프트웨어

 

DNS

  • 인터넷의 DNS 시스템은 이름과 숫자 간의 매핑을 관리하여 마치 전화번호부와 같은 기능을 합니다. DNS 서버는 이름을 IP 주소로 변환하여 도메인 이름을 웹 브라우저에 입력할 때 최종 사용자를 어떤 서버에 연결할 것인지를 제어합니다. 이 요청을 쿼리라고 부릅니다.

 

HTTP

  • HTTP는 Hyper Text Transfer Protocol의 두문자어로, 인터넷에서 데이터를 주고받을 수 있는 프로토콜입니다. 프로토콜은 규칙이라고 생각하시면 됩니다. 이렇게 규칙을 정해두었기 떄문에, 모든 프로그램이 이 규칙에 맞춰 개발해서 서로 정보를 교환할 수 있게 된 것입니다.

 

API(application programming interface)

  • 다른 소프트웨어 시스템과 통신ㅇ하기 위해 따라야 하는 규칙을 정의합니다.
  • 개발자는 다른 애플리케이션이 프로그래밍 방식으로 애플리케이션과 통신할 수 있도록 API를 표시하거나 생성합니다. 
    ex) 근무시간 기록 애플리케이션은 직원의 전체 이름과 날짜 범위를 요청하는 API를 표시합니다. 이 정보가 수신되면 내부적으로 직원의 근무 시간 기록을 처리하고 해당 날짜 범위에서 근무한 시간을 반환합니다.
  • 웹 API는 클라이언트와 웹 리소스 사이의 게이트웨이라고 생각할 수 있습니다.

 

인터페이스(interface)

  • 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면 입니다.
  • 사용자가 쉽게 동작시키는데 도움을 주는 시스템을 의미하며, 컴퓨팅에서 컴퓨팅 시스템끼리 정보를 교환하는 공유 경계입니다.

 

  • 아직 설명이 이해가 안되면, 하나의 "약속"이자, 서로 다른 에플리케이션 간에 약속한 방식으로 요청을 하면 정해진 결과물, 즉 요청을 받아 응답을 돌려주는 식당의 점원이라고 비유적으로 이해하셔도 좋을 것 같습니다.

 

REST(Representational State Transfer)

  • API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처입니다. REST는 처음에 인터넷과 같은 복잡한 네트워크에서 통신을 관리하기 위한 지침으로 만들어졌습니다. REST 기반 아키텍처를 사용하여 대규모의 통신을 안정적으로 지원할 수 있습니다. 쉡게 구현하고 수정할 수 있어 모든 API 시스템을 파악하고 여러 플랫폼에서 사용할 수 있습니다.
  • API 개발자는 여러 가키텍처를 사용하여 API를 설계할 수 있습니다. REST 아키텍처 스타일을 따르는 API를 REST API라고 합니다. REST 아키텍처를 구현하는 웹 서비스를 RESTful 웹 서비스라고 합니다. RESTful API라는 용어는 일반적으로 RESTful 웹 API를 나타냅니다. 하지만 REST API와 RESful API라는 용어는 같은 의미로 사용할 수 있습니다.

 

(여기서 HTTP메서드는 GET, POST, PUT등을 의미합니다.)

 

데이터베이스 사용하는 이유

  • 데이터를 더 많이 저장하기 위해서가 아니라, 저장 조회 수정 삭제등을 더 빠르고 효율적으로 처리하기 위해서, “성능상의 이점”을 얻기 위해서 사용합니다.

 

결론

  • 서버 개발에서 그래도 가장 많이 하는 일은, "새로운 정보"와 "기존의 정보"를 가지고 "정해진 로직"을 수행하는 일 입니다.
  • 위와 같은 이야기를 하기 위해서
    • 기존에 알고 있던 웹 프로그램이 어떻게 동작하는지를 살펴봤고
    • 어떻게 새로운 정보인 클라이언트의 요청이 서버로 도달하는지를 살펴봤고
    • 어떻게 기존의 정보를 저장하는지를 살펴봤습니다.

'개발일지' 카테고리의 다른 글

02.03 Database 와 SQL  (0) 2023.02.03
02.03 SpringBoot 및 서버 이해  (0) 2023.02.03
02.02 시험 풀이  (0) 2023.02.02
02.02 시험  (0) 2023.02.02
02.02 복습  (0) 2023.02.02