Web의 구성과 흐름

Dohyeon Kong·2024년 4월 23일
0

Web🌎

목록 보기
3/5

Web

Web은 웹브라우저와 웹서버간의 요청과 반환으로 작동


웹브라우저

사용자가 웹서버에 접속하여 웹 페이지를 검색하고 볼 수 있도록 해주는 소프트웨어

  • 브라우저는 사용자가 URL을 통해 원하는 웹 페이지를 요청하면, 웹서버와 통신하여 해당 페이지의 데이터를 받아서 사용자의 컴퓨터나 모바일 장치에 볼 수 있도록 표시해준다.

웹서버

인터넷을 통해 정보를 제공하는 소프트웨어 및 하드웨어의 조합

  • 웹 서버는 웹 페이지, 사이트, 앱 또는 미디어파일과 같은 데이터를 저장하고, 사용자의 요청에따라 클라이언트 컴퓨터로 전송한다.
  • 웹 서버 소프트웨어는 HTTP를 사용하여 클라이언트의 요청을 처리하고 필요한 응답을 보낸다.

아키텍처(Architecture)

  • Monolithic(모놀리딕) : 하나의 서버가 모든 서비스를 관장한다.

  • MSA(Microservice Architecture) : 하나의 서버가 하나의 서비스만을 관장한다.

  • Monolithic의 단점 : 한쪽 서비스가 문제가 생기면 모든 서버에 영향을 주어 기타 서비스들을 모두 사용 불가하다.

  • MSA의 장점 : Monolithic의 단점을 보완해주는데 하나의 서버, 하나의 서비스로 구성되어있어 문제가 발생해도 다른 서버 문제로 전파되지 않는다는 장점이 있다.


REST API

REST API(Representational State Transfer)는 웹 리소스를 효율적으로 처리하고 사용하기 위한 기술

  • Method + URI라는 2가지 요소로 구성된다.

  • URL, Location : https://naver.com = 장소

  • URI, Indicator : https://naver.com/store/ = 장소 내 지정

  • URI(Path)에 들어가는 변수
    - Path Variable : /hello/world
    - Query Parameter : /hello?next=world

package com.example.demo.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

@RestController
@RequestMapping("/users")
public class UserController {

    private final RestTemplate restTemplate;

    @Autowired
    public UserController(RestTemplate restTemplate) {
        this.restTemplate = restTemplate;
    }

    @GetMapping("/info")
    public ResponseEntity<String> getUserInfo() { // <- RESTAPI를 사용한 예제라고 보면 된다.
        String url = "https://api.externalwebsite.com/user"; // 외부 API의 URL
        ResponseEntity<String> response = restTemplate.getForEntity(url, String.class);
        return response;
    }
}

Web의 등장

유럽 인자 물리 연구소에서 세계의 여러 대학과 연구기관에서 일하는 물리학자 상호간 신속한 정보교환과 공동연구를 위해 개발된 Web

  • 웹페이지(Web Page)는 HTML, CSS, JS가 묶여져서 제공되는 페이지를 의미한다.

인트라넷(Intranet)과 인터넷(Internet)

인트라넷(Intranet)은 대학, 연구기관, 집과 같이 갇힌 공간에 국한된 네트워크를 의미하며,
이러한 인트라넷들이 모여 게이트웨이(GateWay)를 통해 외부로 연결한 것을 인터넷(Internet)이라고 한다.

  • 외부로 연결하기 위해서는 게이트웨이를 사용해서 연결한다.
  • 게이트웨이는 내부 네트워크(회선)과 외부 네트워크(회선) 연결 통로이다.

DNS(Domain Name System)

서버가 사용하는 IP주소를 사람이 읽기 쉬운 형태인 별명(Alias)으로 변환하고 검색하는 과정

  • 모든 웹서버는 주소를 가지며, 이 주소의 명칭은 IP주소(네트워크 주소)이다. Ex) 126.10.1.12
  • 하지만 이 IP주소는 사람이 읽기 어려운 형태이기 때문에 영어로 된 별명(Alias)인 도메인 네임을 사용한다. Ex) naver.com
  • 웹 서버는 IP주소를 기반으로 통신하기 때문에 도메인 네임과 실제 IP주소가 어떻게 연결되어있는지가 중요하다.
  • 이떄 사용하는 것이 'DNS'이다.
profile
천천히, 꾸준히, 그리고 끝까지

0개의 댓글