Dev/Network14 『Network』 HTTP Only 쿠키 웹 애플리케이션 개발에서 쿠키는 클라이언트와 서버 간의 상태 정보를 유지하는 역할을 한다. 위와 같은 특성 때문에 쿠키에 대한 관리를 고려하지 않는다면 크로스 사이트 스크립팅(XSS) 공격에 노출될 수 있다. 이러한 보안 위협을 최소화하기 위해 HTTP Only 쿠키를 사용하는 것이 권장된다. 일반 쿠키와 HTTP Only 쿠키의 간단한 차이점을 알아보고 Spring Framework에서 HTTP Only 쿠키를 어떻게 사용하는지 예제 코드를 통해 살펴보자. 쿠키란?쿠키는 클라이언트의 브라우저에 저장하는 작은 데이터 조각으로 이후의 HTTP 요청에서 해당 정보를 활용하여 상태를 유지하는 데 사용된다.일반 쿠키HTTP Only 쿠키 클라이언트 측에서 JavaScript와 같은 스크립트를 통해 접근, 수정.. 2024. 12. 1. 『Network』 쿠키, 세션 쿠키쿠키는 클라이언트(브라우저)의 로컬에 저장되는 작은 데이터 파일로 키와 값의 쌍으로 이루어져 있다. 서버에서 생성되어 클라이언트로 전송되며 클라이언트는 이를 저장하고 필요시 다시 서버로 전송한다. 만료 시간을 지정할 수 있어 브라우저가 종료되어도 쿠키가 유지될 수 있다. 사용자가 별도의 요청을 하지 않아도 브라우저가 자동으로 서버에 쿠키를 전송한다. 동작 원리클라이언트 요청: 클라이언트가 서버에 페이지를 요청한다.쿠키 생성 및 전달: 서버는 필요한 경우 쿠키를 생성하여 HTTP 응답 헤더에 포함시켜 클라이언트로 전송한다.쿠키 저장: 클라이언트는 수신한 쿠키를 로컬에 저장한다.쿠키 자동 전송: 이후 동일한 도메인에 대한 요청 시 브라우저는 자동으로 쿠키를 HTTP 요청 헤더에 포함하여 서버로 전송한.. 2024. 11. 29. 『Network』 HTTP(HyperText Transfer Protocol) HTTP(HyperText Transfer Protocol)는 월드 와이드 웹(WWW)에서 하이퍼텍스트 문서를 전송하기 위한 표준 프로토콜이다. 현대의 HTTP 프로토콜은 단순히 하이퍼텍스트(HTML) 문서를 전송하는 데 그치지 않고 JSON(JavaScript Object Notation), XML(eXtensible Markup Language), HTML, 파일 전송 등의 데이터 전송에 활용되고 있다. 클라이언트(웹 브라우저)와 서버 간의 통신을 담당하며 OSI 7 계층 중 응용 계층에 속한다. 하이퍼텍스트란? 하이퍼텍스트는 문서 내에서 다른 텍스트나 리소스로의 참조(링크)를 포함하는 텍스트를 의미한다. HTTP 특징 클라이언트-서버 모델클라이언트가 요청을 보내면 서버가 응답을 반환하는 구조.. 2024. 11. 28. 『Network』 www.google.com을 주소 창에 쳤을 때 일어나는 과정 웹 동작 방식브라우저에서 www.google.com(URL)을 입력하면, DNS lookup을 통해 해당 도메인의 서버 IP 주소를 알아낸 후 서버와 TCP 연결을 설정한다.IP 주소로 HTTP 요청 메시지(request message) 전송 요청을 한다.생성된 HTTP 요청 메시지를 TCP/IP층에 전달한다.HTTP 요청 메시지에 헤더를 추가해서 TCP/IP 패킷을 생성한다.해당 패킷은 전기 신호로 랜선을 통해 네트워크로 전송되고 목적지 IP에 도달한다.server에 도착한 패킷은 unpacking을 통해 message를 복원하고 server의 process로 보낸다.server의 process는 HTTP 요청 메시지에 대한 response data를 가지고 HTTP response message를 생.. 2024. 11. 27. 『Network』 한 번에 끝내는 DNS 인터넷을 사용할 때 www.naver.com과 같은 도메인 이름을 주소창에 입력한다. 하지만 실제로 컴퓨터는 이러한 도메인 이름이 아닌 IP 주소를 통해 통신한다. 그렇다면 어떻게 도메인 이름이 IP 주소로 변환될까? 이때 중요한 역할을 하는 것이 바로 DNS(Domain Name System)다. DNS란 무엇인가?DNS는 분산 구조형 데이터베이스로 도메인 이름을 IP 주소로 변환해 주는 서비스다. 마치 전화번호부에서 사람의 이름으로 전화번호를 찾는 것과 비슷하다. 도메인 네임의 구조와 관리도메인 네임은 트리 구조로 되어 있으며 각 영역(Zone) 별로 구분되어 분산 관리된다. 예를 들어, www.naver.com에서 com은 최상위 도메인(TLD)이고 naver는 그 하위 도메인이다. 마지막으.. 2024. 11. 26. 『Network』 User Mode와 Kernel Mode 운영 체제는 하드웨어와 소프트웨어 사이에서 중재자 역할을 하며 이를 위해 User Mode (사용자 모드)와 Kernel Mode (커널 모드)라는 두 가지 실행 모드를 제공한다. 이 두 모드는 네트워크 통신의 OSI 7 계층 모델과 밀접하게 연관되어 있다. User Mode와 OSI 상위 계층 (5~7 계층)세션 계층(5 계층), 표현 계층(6 계층), 응용 계층(7 계층)은 주로 사용자 모드에서 동작하는 애플리케이션에 의해 구현된다.이러한 애플리케이션은 직접 하드웨어에 접근하지 않고, 시스템 콜이나 API를 통해 커널 모드에 요청을 전달한다. Kernel Mode와 OSI 하위 계층 (1~4 계층)물리 계층(1 계층), 데이터 링크 계층(2 계층)은 NIC(Network Interface Card)와.. 2024. 11. 23. 『Network』 Docker 정리, 근데 좀 많이 긴 Docker를 왜 쓸까Docker를 사용하면 아래와 같은 장점이 있다.매번 귀찮은 설치 과정을 일일이 거치지 않아도 된다.항상 일관되게 프로그램을 설치할 수 있다. (버전, 환경 설정, 옵션, 운영 체제 등)각 프로그램이 독립적인 환경에서 실행되기 때문에 프로그램 간에 서로 충돌이 일어나지 않는다. Docker 명령어를 실습하기 전에 알아야 되는 개념이 있다. ✅ IP : 특정 컴퓨터를 가리키는 주소예를 들어, 13.250.14.131 ✅ Port : 실행되고 있는 특정 프로그램의 주소예를 들어, 13.250.14.131:30003000 부분이 포트 번호를 의미한다. Docker, Container, ImageDocker 컨테이너를 사용하여 각각의 프로그램을 분리된 환경에서 실행 및 관리할 수 있는 .. 2024. 11. 4. 『Network』 Internet Gateway와 NAT Gateway의 차이점은 무엇인가? AWS에서 VPC를 구성할 때 Internet Gateway와 NAT Gateway를 각각 생성하게 된다. Internet Gateway와 NAT Gateway는 공통적으로 VPC(Virtual Private Cloud) 내 리소스와 인터넷 간 통신을 가능하게 해 준다. 그러나 그 사용 목적과 적용되는 서브넷에 따라 차이가 있다. Internet Gateway Internet Gateway는 VPC와 인터넷 사이에서 양방향 통신을 가능하게 하는 장치다. VPC에 Internet Gateway를 연결하면 퍼블릭 서브넷에 있는 인스턴스들이 퍼블릭 IP를 통해 인터넷에 직접 접근할 수 있다. 이를 통해 VPC 내 리소스가 인터넷과 자유롭게 통신할 수 있다. Internet Gateway를 사용하여 외.. 2024. 11. 1. 『Network』 가상 머신과 하이퍼바이저에 대해 알아보자. 가상 머신 (Virtual Machine, VM) 자체 컴퓨팅 리소스와 OS를 갖춘 가상 컴퓨팅 환경을 가상 머신이라 부른다. 각 가상 머신들은 같은 서버 위에 있을지라도 별도의 시스템처럼 동작한다.생성된 가상 머신을 게스트 서버, 가상 머신들이 구동되는 서버를 호스트 서버라고 부른다. 가상화 기술 등장 이후, 한 개의 물리 서버를 두 개 이상의 가상 서버로 동작시킬 수 있게 되었다. 덕분에 서버 리소스를 낭비하지 않고 효율적으로 사용할 수 있다. 물리 서버에 가상 서버를 만들기 위해서는 다음과 같은 과정이 필요한데 한번 살펴보자. 가상 서버 생성 요청을 하이퍼바이저에 전달.하이퍼바이저가 새로운 가상 서버(VM) 생성.물리 서버의 컴퓨팅 리소스(CPU, 메모리, 스토리지, 네트워크)를 각 가상 서버에.. 2024. 10. 28. 이전 1 2 다음