BE

    DNS (Domain Name System) 란?

    - 참조한 강의 (https://opentutorials.org/module/3421) * 용어 Host : 인터넷 연결시에 사용되는 컴퓨터를 의미 (꼭 컴퓨터가 아니라 다른 기기여도 네트워크 연결을 위한 대상이면 Host 로 부름) IP address : Host 끼리 연결을 하기 위한 주소값 (초기에는 IPv4 로 주소를 부여 했지만, 차후에 IPv6 가 나오면서 갯수를 더 늘렸다.) * DNS 등장 이유 DNS 가 등장한 이유는 사람이 일일이 IP 주소를 외우고 다니기 힘들기 때문이다. 이 개념이 등장하기 전에는 Host 끼리 연결을 하기 위해서 직접 IP 주소를 쳐서 연결을 해야했고, 하나하나 외워서 처리하기에는 상당히 불편하고 복잡했다. * hosts 파일 hosts 파일은 각 IP 주소별 도메..

    Load Balancing 이란

    * 정의 Load Balancing 이란 다수의 서버가 있을 때, 요청 서비스별 트래픽을 어떻게 분산할지에 대한 아키텍쳐다. Load Balancing 을 사용하지 않은 web infrastructure 구조는 아래와 같이 나타낼 수 있다. 위와 같은 구조는 단일 서버만 운영하기 때문에, 서버에 오류가 생길경우, 유저는 해당 도메인에 접속하지 못하게 된다. 웹 서비스의 경우 위 처럼 한명 들어오고 단일 서버랑 연결하고 이런 단순한 1:1 구조가 아닌 경우가 대부분이다. 예를들면, 수강신청 같은 것 처럼 한번에 많은 인원이 동시에 접속하는 경우, 서버가 트래픽을 감당하지 못할 수가 있고, 사용자 입장에서도 체감상 로딩 시간이 상당히 오래 걸림을 느끼게 된다. * 해결책 이런 문제를 해결하기 위해서는 1. ..

    Cookie, Session, Token 이란?

    매번 헷갈리던 이 세개의 개념을 정리하려고 포스팅을 작성했다. * 쿠키 (Cookie) HTTP 는 본래 정보를 유지하지 않는다. (stateless) 클라이언트와 서버 사이에 뭔가 통신이 필요하면 필요한 그 순간 마다 매번 요청을 하고 그에 대한 응답을 하는 구조로 되어 있다. 한번 클라이언트와 서버가 서로 연결이 이뤄지고 요청 응답이 완료되었으면 연결이 끊기는데 (connectionless) HTTP 자체가 인터넷 상에서 불특정 다수와 연결되는 통신 환경을 만들기위해 설계되었기 때문이다. 서버가 다수의 클라이언트와 연결이 끊기지 않고 계속 연결되어 있으면, 연결 유지를 위한 Resource 가 너무 많이 필요하게 되어, 서버 관리 측면에 있어서는 단점으로 작용하기 때문이다. 그러나, 웹 기술이 발달하..