Web/Network 6

[Network] 쿠키(cookie)와 세션(session)

쿠키와 세션 쿠키(Cookie) 세션(Session) 개념 HTTP의 일종으로 사용자가 어떤 웹 사이트를 방문할 경우, 그 사이트가 사용하는 서버에서 사용자의 컴퓨터에 저장하는 작은 기록 정보 파일. 이름-값 쌍으로 이루어져 있다. HTTP에서 클라이언트의 상태 정보를 클라이언트의 PC에 저장하였다가 필요시 정보를 참조하거나 재사용할 수 있다. 세션은 일정 기간 동안 같은 사용자(클라이언트)로 부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술이다. 세션은 쿠키를 기반으로 하지만 쿠키와 다르게 서버 측에서 저장하고 관리한다. 특징 - 세션이라는 공간에 클라이언트 정보를 쿠키값으로 저장해두면 로그인을 추가로 해서 DB에 다녀올 필요없이 해당 아이디로 접속가능하다. 클라이언트..

Web/Network 2024.02.25

[Network] 로드 밸런싱(Load Balancing), 스케일 아웃(Scale out), 스케일 업(Scale up)

이용자가 확장되고 사업의 규모 역시 확장되면서 점차 많은 트래픽을 받는 인프라를 구성하는 방법을 고민해 보았다면, 아래 3가지 개념을 숙지하고 있는 것이 좋다. 먼저, 로드 밸런싱(Load Balancing)은 네트워크나 애플리케이션 서버 등에서 발생하는 트래픽을 여러 대의 서버나 네트워크 장치로 분산시켜서 부하를 균형있게 분산시키는 기술이다. 이를 통해 단일 서버에 가해지는 부하를 분산시켜 서버의 가용성과 성능을 향상시킬 수 있다. 부하 분산을 위해서는 L4, L7 스위치와 같은 네트워크 장비나 엔진엑스(Nginx) 같은 소프트웨어를 사용하여 서버를 구성한다. 이렇게 하면 부하가 분산되는 효과 외에도 스케일 아웃*하기 좋은 환경이 되기 때문이다. 또한 수평적으로 확장할 수 있어 들어오는 트래픽이 늘어나..

Web/Network 2024.02.22

[Network] 사설 IP와 공용 IP, IPv4와 IPv6

2024.02.10 - [Web/Network] - [Web] 프로토콜(Protocol) : HTTP, TCP, UDP, IP + Port(포트번호) 그리고 OSI 7 Layer [Web] 프로토콜(Protocol) : HTTP, TCP, UDP, IP + Port(포트번호) 그리고 OSI 7 Layer 먼저, 프로토콜이란 무엇일까? 프로토콜이란? 클라이언트와 서버가 서로 통신하기 위해서는 통신방법에 대한 약속이 필요한데, 이때 이 약속이 프로토콜이다. "통신규약"이라고 말한다. 웹 통신 bio-logisch.tistory.com 사설 IP와 공인 IP 이론적으로 존재 가능한 IP주소는 약 43억개 정도 되지만 전 세계에서 사용한다고 생각하면 그리 넉넉한 양은 아닐 것이다. IPv4 체계에서도 IP주소를..

Web/Network 2024.02.22

[Web] 프로토콜(Protocol) : HTTP, TCP, UDP, IP + Port(포트번호) 그리고 OSI 7 Layer

먼저, 프로토콜이란 무엇일까? 프로토콜이란? 클라이언트와 서버가 서로 통신하기 위해서는 통신방법에 대한 약속이 필요한데, 이때 이 약속이 프로토콜이다. "통신규약"이라고 말한다. 웹 통신에 주로 쓰이는 IP, TCP, UDP, HTTP 모두 프로토콜에 해당하며 이번에는 위 4가지 프로토콜에 대해 자세히 다루고자 한다. 프로토콜은 아래의 OSI 7 Layer에 의해 좀 더 명확히 이해할 수 있다. OSI 7 Layer(OSI 7계층) ? OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. 다양한 프로토콜에 대해서 바이블로서 정의하는 역할을 한다. 우리는 OSI 7 Layer(OSI 7계층)를 통해 통신이 일어나는 과정을 단계별로 파악할 수 있다. 각 Level에 대해 좀 더 ..

Web/Network 2024.02.10

[Web] HTTP와 HTTPS(HTTP Secure), SSL/TLS, 핸드셰이크

서버와 클라이언트 간의 웹 통신에서는 통신 프로토콜로 HTTP(HyperText Transfer Protocol)가 주로 사용된다. HTTP는 클라이언트가 서버에게 요청을 보내고, 서버가 클라이언트에게 요청에 대한 응답을 보내는 데 사용되며, 이를 통해 웹 페이지의 요청과 응답이 이루어진다. HTTP 프로토콜은 요청과 응답이라는 두 가지 주요한 메시지 형식을 사용한다. 클라이언트는 요청 메시지를 생성하여 서버에게 보내고, 서버는 해당 요청에 대한 응답 메시지를 생성하여 클라이언트에게 보낸다. 이러한 요청과 응답 메시지는 특정한 구조와 규칙에 따라야 하는데 여기서 중요한 점은 클라이언트와 서버가 동일한 프로토콜을 사용하여 통신해야 한다는 점이다. 즉, 클라이언트가 HTTP를 사용하여 요청을 보내면, 서버는..

Web/Network 2024.01.30

[Web] 웹 서버와 웹 브라우저의 통신 : HTTP, DNS, 라우터

우리가 일상에서 가장 자주 접하는 클라이언트는 구글 크롬과 같은 웹 브라우저일 것이다. 정확히 말하면, 웹 서버에 접속할 수 있는 웹 브라우저로, HTTP라는 프로토콜을 통해 클라이언트(웹 브라우저)와 웹 서버가 서로 통신한다. 그렇다면 구체적으로 어떻게 통신하는 것인지 살펴보자. 먼저 구글에 접속해본다고 상황을 가정해보면, 보통 www.google.com 라는 구글의 도메인 네임을 통해 접속한다. 구글 웹 서버의 IP 주소를 알아내서 접속하지 않는다. 하지만 서버의 위치를 정확히 알아내서 접속하려면 IP주소와 포트번호가 필수적으로 필요하다고 했었는데, 구글 도메인 네임만으로 어떻게 접속이 가능했던 걸까? 그 사이에는 DNS(Domain Name System)이 있었기에 가능했다. 클라이언트가 구글 서버..

Web/Network 2024.01.28