Study 200

[Network] Cookie vs Session

HTTP 프로토콜의 비연결성과 무상태성으로 인해 연결을 끊는 순간 클라이언트와 서버의 통신은 끝나며 상태 정보를 유지하지 않습니다. 이러한 특징은 리소스 낭비가 적다는 큰 장점도 있지만 통신할 때마다 새로 연결해야 하기 때문에 클라이언트가 매번 인증을 해야 한다는 단점도 있습니다. 매번 인증을 해야 하는 번거로움을 해결해야 하기 위한 기술로 쿠키와 세션이 있습니다. 쿠키 (Cookie) 사용자가 어떠한 웹사이트를 방문할 때 사이트가 사용하고 있는 서버에서 클라이언트 로컬에 서버에 인증하기 위한 클라이언트 정보를 저장하는 값을 말합니다. 클라이언트의 상태 정보를 클라이언트 로컬에 저장하여 참조한다. 구성 요소 쿠키의 이름(name) 쿠키의 값(value) 쿠키의 만료시간(Expires) 쿠키를 전송할 도메..

CS 2023.12.03

[Network] TCP/IP 프로토콜

TCP/IP 란? 사람끼리 소통할 수 있는 언어에도 한국어, 영어, 일본어, 중국어 등 여러 언어가 있듯이, 컴퓨터끼리 소통할 수 있는 프로토콜에도 TCP, HTTP, FTP 등 여러 프로토콜들이 존재합니다. 그 중 인터넷과 관련된 프로토콜을 모은 것을 TCP/IP라고 부릅니다. 계층으로 관리하는 TCP/IP TCP/IP는 OSI 7 Layer 중에서 Layer 3, Layer 4를 다루는 프로토콜입니다. TCP/IP는 4계층으로 나뉩니다. 그런데 왜 굳이 TCP/IP를 계층으로 나누어야할까요? 😮 그 이유는 아래와 같습니다. 변경의 용이성 만약 어디에서 사양이 변경되었을 때, 전체 계층을 바꿀 필요 없이 해당 계층만 변경하면 됩니다. 효율 증가 각 계층에서 해야하는 일에 충실해지기 때문에 효율이 증가하..

CS 2023.12.02

[Package] npm vs yarn

npm과 yarn은 자바스크립트 런타임 환경인 노드(Node.js)의 패키지 관리자입니다. npm과 yarn의 차이점을 알아보기 전, 패키지 관리자에 대해서 잘 모르신다면 여기를 참고해주세요. 전 세계의 개발자들이 자바스크립트로 만든 다양한 패키지를 npm 온라인 데이터베이스(opens new window)에 올리면 npm, yarn과 같은 패키지 관리자를 통해 설치 및 삭제가 가능합니다. 그리고 CLI(Command-line interface)를 통해 패키지 설치 및 삭제뿐 아니라 패키지 버전 관리, 의존성 관리도 편리하게 할 수 있습니다. npm (Node Package Manager) 노드를 설치할 때 자동으로 설치되는 기본 패키지 관리자입니다. 크게 두 가지 역할을 수행합니다. 첫 번째 역할은 온..

CS 2023.12.01

[Package] Package manager

우리는 프로젝트를 만들 때 npm과 yarn을 통해서 패키지를 다운받은 후 개발을 시작한다. 이때 npm과 yarn은 패키지 관리자라고 불리는데 패키지 관리자란 무엇일까? 패키지 관리자(Package manager) 패키지 관리자는 패키지를 관리하는 작업을 편리하고 안전하게 수행하기 위해 사용되는 툴을 말합니다. 여기서 패키지를 관리하는 작업이란 패키지를 설치, 업데이트, 수정, 삭제하는 작업을 의미합니다. 패키지(Package) 라이브러리와 유사하게 코드의 배포를 위해 사용되는 코드의 묶음이라고 생각하면 됩니다. 패키지는 아래의 정보를 가지고 있는 코드의 배포 단위입니다. 라이브러리 실행 파일 컴파일한 소프트웨어의 바이너리(binary) 환경설정(configuration) 정보 의존성(dependen..

CS 2023.11.30

[Network] What is hosting?

호스팅(hosting)이란? 호스팅이란 정보의 집약체인 서버의 전체 혹은 일부를 이용할 수 있도록 임대해 주는 서비스를 말합니다. 서버를 관리하기 위해서는 24시간 내내 안정적으로 전기를 공급해야 하고 빠르고 안정적인 인터넷 회선을 사용해야 하며 철저한 보안 시스템을 갖추고 있어야 합니다. 따라서 개인이 서버를 관리하기보다 전문 업체의 호스팅 서비스를 사용하는 것이 일반적입니다. 호스팅 종류 웹 호스팅 호스팅 중 웹 호스팅은 만든 웹페이지를 PC에만 저장해놓으면 PC 사용자는 해당 웹페이지를 볼 수 있어도 그 외엔 누구나 접속할 수 없고 볼 수도 없습니다. 이럴 때 배포 과정 후 도메인 연결까지 해야 누구나 접속할 수 있고 볼 수 있는 웹페이지가 되는데 이러한 과정을 웹호스팅 서비스가 해줍니다. 웹 서버..

CS 2023.11.29

[Network] DNS and how it work?

DNS(Domain Name System)를 알아보기 전, Domain Name에 대해서는 https://mi-dairy.tistory.com/entry/Internet-What-is-Domain-Name [Internet] What is Domain Name? 도메인 이름(Domain Name)이란? 도메인은 쉽게 말해 문자로 만들어진 인터넷 주소입니다. 인터넷과 연결되어 있는 장치(컴퓨터 등)들을 식별하는 주소인 IP는 사람이 기억하기 어렵기 때문에 기억하 mi-dairy.tistory.com DNS(Domain Name System) 란? DNS는 브라우저에 입력된 도메인 이름을 컴퓨터가 읽을 수 있는 IP 주소로 변환합니다. 도메인 이름을 사용했을 때 입력한 도메인을 실제 네트워크상에서 사용하는 ..

CS 2023.11.28

[Network] What is Domain Name?

도메인 이름(Domain Name)이란? 도메인은 쉽게 말해 문자로 만들어진 인터넷 주소입니다. 인터넷과 연결되어 있는 장치(컴퓨터 등)들을 식별하는 주소인 IP는 사람이 기억하기 어렵기 때문에 기억하기 쉽도록 도메인이 만들어진 것이지요. 여기서 도메인 이름은 사용자가 원하는 사이트에 방문하기 위해 브라우저에서 입력하는 주소를 말합니다. 지문처럼 웹사이트는 각각 고유한 도메인 이름을 가지고 있으며 동일한 이름을 함께 사용할 수 없습니다. 이러한 도메인 이름 덕분에 우리는 즐겨찾는 쇼핑몰 이름이나 블로그에 쉽게 방문할 수 있게 되었습니다. 도메인 구조 및 유형 도메인은 root 도메인 이하에 역트리 구조로 구성되어 있으며 3단계로 구분됩니다. 때문에 오른쪽부터 왼쪽으로 내려갑니다. 실제로 전체 URL 중 ..

CS 2023.11.27

[Network] Browsers and how they work?

브라우저가 어떻게 동작되는지 알아보기 전에 먼저 브라우저가 무엇인 지 알아보자. 브라우저(Browser)란? 브라우저는 인터넷에 접속하여 정보를 얻기 위해 사용되는 소프트웨어 응용 프로그램입니다. 사용자는 브라우저를 통해 웹 사이트를 탐색하고 미디어 콘텐츠를 시청하고 온라인 응용 프로그램 및 서비스와 상호 작용할 수 있습니다. 우리가 흔히 알고 있는 크롬, 사파리, 파이어폭스 등이 이에 속합니다. 브라우저는 클라이언트로서 웹 서버에 접속하여 정보를 요청(request)하고 웹 서버는 컴퓨터나 브라우저를 지원하는 장치에 결과를 표시하는 브라우저로 정보를 응답(response)함으로써 소통합니다. 예를 들면 사용자가 브라우저의 주소창에 웹 URL을 입력하면 브라우저는 해당 웹 서버에 요청을 보낸 다음 HTM..

CS 2023.11.24

[Network] What is HTTP? HTTPS?

HTTP(Hypertext Transfer Protocol) 란? HyperText는 Hyper(초월한) + Text(문자)의 합성어로 컴퓨터 화면이나 전자 기기에서 볼 수 있는 텍스트(데이터)를 말하며 사용자가 한 문서에서 다른 문서로 즉시 접근할 수 있는 텍스트를 말합니다. Protocol은 컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙을 말합니다. 이를 합쳐보면 사용자가 브라우저를 통해 확인하는 데이터들은 HTTP에 의해 Protocol(규칙)에 맞춰 Transfer(전달)되는 것입니다. 쉽게 말해 HTTP는 인터넷에서 데이터를 주고받을 수 있는 프로토콜이라고 할 수 있습니다. 이렇게 규칙을 정해두었기 때문에 모든 프로그램이 이 규칙에 맞춰 개발해 서로 정보를 교환할 수..

CS 2023.11.23

[Network] How does the internet work?

인터넷의 작동 원리를 알아보기 전에 먼저 인터넷을 살펴보자면, 인터넷(Internet)이란? 여러 통신망을 하나로 연결한다는 의미의 ‘인터 네트워크(inter-network)’라는 말에서 시작되었으며, 지금은 전 세계 컴퓨터들을 하나로 연결하여 서로 통신이 가능한 거대한 컴퓨터 통신망을 의미합니다. 인터넷의 작동 원리 초기에는 두 대의 컴퓨터가 통신이 필요할 때 케이블을 사용해서 물리적으로 연결하거나 wifi나 Bluetooth와 같이 무선으로 연결하여 통신을 했습니다. 하지만 컴퓨터의 수가 두 대가 아닌 더 많은 컴퓨터를 연결하면 어떻게 될까요? 이처럼 매우 복잡한 형태로 연결되게 됩니다. 케이블도 많이 필요하게 되겠지요. 이러한 문제를 해결하기 위해 라우터라고 하는 특수한 소형 컴퓨터에만 컴퓨터들을 ..

CS 2023.11.22