이론 13

[ WEB ] - sessionStorage? localStorage?

sessionStorage와 localStorage란? localStorage와 sessionStorage는 브라우저에서 데이터를 키:값 쌍의 객체 형태로 저장할 수 있게 해주는 스토리지이다. 두 스토리지는 데이터 유지 기간과, 데이터가 공유되는 범위에 있어서 차이를 가진다. sessionStorage에 저장된 데이터는 기본적으로 해당 세션이 유지되는 동안에만 유효한데, 이는 곧 브라우저가 열려 있는 경우에만 데이터가 유지됨을 의미한다. 기존 창에서 새로고침을 하는 것과 같은 경우에는 세션이 그대로 유지되지만 브라우저를 닫게 되면 기존의 데이터는 확인할 수 없다. 또한 기존 탭이 아닌 새로운 탭을 여는 경우에도 새로운 세션을 생성하기 때문에 이전의 다른 탭에 저장된 데이터의 내용은 공유되지 않는다. 즉 ..

이론 2023.11.22

문자 인코딩(character encoding)과 charset

문자인코딩 ( character Encoding ) 컴퓨터는 기본적으로 0과 1과 같은 바이너리 형태의 정보만을 인식할 수 있다. 그렇기 때문에 일반적으로 사용자가 사용하는 문자나 기호들을 컴퓨터가 인식할 수 있도록 변환해주는 과정이 필요한데, 이를 바로 문자 인코딩이라 한다. 반대로 0과 1로 이루어진 컴퓨터 신호를 사람이 인식할 수 있는 정보로 변환하여 주는 것을 디코딩이라 한다. 즉 문자, 숫자, 기호 등을 사전에 약속된 규칙에 따라 컴퓨터가 인식할 수 있는 0과 1과 같은 숫자 신호로 변환하는 것을 의미한다. 그리고 여기서 사전에 약속된 규칙들의 집합을 Character Set 이라고 한다. 다양한 인코딩 방식이 존재하기 때문에 문서 간에 인코딩 방식이 일치하지 않으면 컴퓨터가 문자를 사용자의 본..

이론 2022.06.16

[ 이론 ] - mvc / 쿠키 세션

MVC (Model-View-Controller) 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴 ▪ 모델 : DATA, 정보들의 가공을 책임지는 컴포넌트 ▪ 뷰 : 사용자에게 보여지는 부분, 즉 유저 인터페이스(User interface) ▪ 컨트롤러 : 모델(Model)과 뷰(View) 사이를 이어주는 브릿지(Bridge) 역할 mvc 패턴식 개발은 시스템 결합도를 낮추어 유지보수의 편리성을 높여준다. 쿠키 vs 세션 기본적으로 HTTP프로토콜 환경은 클라이언트의 요청과 그에 대한 서버의 응답이 일회성으로 이루어지며, 이전의 기록은 유지되지 않는다., 이러한'connectionless, stateless'의 HTTP 프로토콜의 특성으로 인하여 서버는 매요청시 사용자에 대한 검증..

이론 2022.06.15

[ WEB ] - 호스팅이란 무엇인가?

WHAT IS HOSTING? 사용자가 네트워크 상에서 애플리케이션을 공개하고 다른 사람들이 해당 서비스를 이용할 수 있게 하기 위해서는 해당 에플리케이션이 돌아갈 수 있도록 하는 서버가 필요하다. 그런데 직접 서버를 구축하고, 운영하기 위해서는 막대한 인력과 비용 그리고 지속적 관리가 필요하다. 호스팅이란 위와 같이 직접 서버를 구축하는 것에 대한 어려움을 극복하기 위해 등장한 것으로, 서버가 필요한 사용자에게 서버를 임대하는 서비스를 제공하여 준다. 호스팅의 종류로는 크게 웹호스팅, 서버호스팅, 클라우드호스팅 등이 존재한다. 1. 웹 호스팅 웹 호스팅이란 내가 만든 웹사이트 등을 다른 사용자들이 볼 수 있도록 인터넷상의 공간을 임대하여 해당 공간에 나의 사이트를 배포(즉 공개)하는 것을 의미한다. ..

이론 2022.06.09

[ WEB ] - DNS는 어떻게 작동하는가?

DNS and how it works? DNS ( Domain Name Server ) www.naver.com www → HostName naver.com → Domain DNS란 도메인 이름을 IP 주소로 변환하여 주는 인터넷 서비스를 의미한다. 도메인명과 IP 주소를 매핑해 주는 거대한 분산 네이밍 시스템이다. 본래 IP 주소는 147.46.8.205와 같이 4바이트의 크기로 된 숫자 형태인데, 이는 컴퓨터가 인식하기에는 유용하지만 사용자는 기억하기 어렵고 직관성이 떨어진다는 단점이 있다. 때문에 사용자가 실제 사용시에는 숫자 형태로 된 주소를 naver.com이나 goole.com 과 같이 사람이 기억하기 쉽고 직관성이 높은 문자의 형태로 변환하여 사용하게 된다. naver.com이나 google..

이론 2022.06.09

[ WEB ] - 브라우저 작동 원리

Browsers and how they work? 브라우저란 무엇인가? 브라우저는 *월드 와이드 웹 상에서 사용자에게 정보를 제공할 수 있도록 도와주는 응용 프로그램을 의미하는데, 사용자에게 제공될 수 있는 정보로는 HTML 문서, 이미지, 동영상 등이 있다. 크롬, 사파리, 파이어 폭스 등이 잘 알려진 브라우저들이다. * 월드 와이드 웹 (World Wide Web, WWW, W3) 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유하는 공간으로, 컴퓨터 간의 거대한 네트워크를 의미한다. 브라우저의 주요 기능은 사용자가 선택한 정보 즉 자원을 서버에 요청하고 이를 사용자가(즉 사람) 인식할 수 있는 모양으로 출력하여 주는 것이다. 사람이 인식할 수 있는 정보로 구현해내는 과정에서 과거에는 각각의 브라우..

이론 2022.06.08

[ WEB ] - HTTP란 무엇인가?

HTTP ( HyperText Transfer Protocol ) html과 같은 하이퍼미디어 문서 전송을 위해 이용되는 응용프로그램계층 프로토콜의 하나로, 인터넷상에서 클라이언트와 서버가 데이터를 주고받는 일종의 규약을 의미합니다. http는 기본적으로 클라이언트가 요청을 생성하기 위해 연결을 연 후 응답을 받을 때까지 대기하는 클라이언트-서버 모델을 따릅니다. http는 기본적으로 stateless 즉 상태를 저장하지 않는다. 하지만 쿠키를 이용하여 상태를 별도로 저장할 수 있다. Request ( 요청 ) 클라이언트가 서버에 자원을 요청하는 행위이다. 보통 사용자가 보는 화면 즉 브라우저가 클라이언트 측이다. GET /user HTTP/1.1 Host: developer.mozilla.org Acc..

이론 2022.06.03

[ WEB ] - 인터넷은 어떻게 작동하는가?

How does the internet Work? 인터넷이란 각각의 컴퓨터들이 통신할 수 있게 해주는 거대한 네트워크 망을 의미합니다.. 사용자가 특정 웹사이트를 방문하거나, 유튜브와 같은 동영상 스트리밍, 온라인 게임 등의 모든 활동은 인터넷의 네트워크 통신을 통해 이루어집니다. 물리적 도구인 이더넷 케이블 또는 와이파이나 블루투스(무선)를 통해 두대의 컴퓨터가 연결된 위와 같은 모습도 하나의 네트워크를 구축한 것으로 볼 수 있습니다. 그러나 이와 같은 식의 단순한 연결은 각 컴퓨터가 통신하는 컴퓨터에 직접적으로 연결되어 있어야 하므로 컴퓨터 수가 증가할수록 복잡도가 커지게 됩니다. 때문에 각 컴퓨터는 직접적으로 연결하지 않고 라우터라고 하는 특수한 소형 컴퓨터와 연결하여 네트워크를 구축합니다. 오른쪽..

이론 2022.06.01

[ Web이론 ] - 네트워크 인터페이스 카드 / 트랜시버 / 허브 / 스위치 / 라우터 / 로드밸런서 / 스케일 아웃 / 스케일 업 / Rack

네트워크 인터페이스 카드? 컴퓨터를 네트워크에 연결하기 위한 하드웨어 장치이다. 역할 1. 직렬화 즉 전기적 신호를 데이터 신호 형태로 바꾸거나, 데이터 신호 형태를 전기적 신호 형태로 변확해주는 일을 한다. 2. 네트워크 인터페이스 카드는 MAC 주소를 가지는데, 이러한 MAC주소는 패킷에 담겨 데이터 송수신시 함께 전달되어, 패킷에 담긴 목적지 MAC주소와 실제 도달된 곳의 MAC주소 일치 여부에 따라 목적지 검증이 가능하다. * 참고로 노트북 맥이 아니라 Media Access Control로, 통신을 위해 네트워크 인터페이스에 할당하는 고유식별자이다. 3. 하나의 채널에서 여러 통신이 이루어지는 과정에서 이미 통신 중인 데이터로 인하여 새로운 데이터를 받는 것이 어려운 경우, 새로운 데이터를 전달..

이론 2022.05.26

[ WEB ] 인캡슐레이션(Encapsulation), 디캡슐레이션(Decapsulation)

인캡슐레이션( Encapsulation ) 데이터를 분할하여 패킷형태로 데이터를 보내는 것. 전송 계층 -> 네트워크 계층 -> 데이터 링크 계층 -> 물리 계층 디캡슐레이션 ( Decapsulation ) 분할된 패킷을 받아 순서에 맞게 결합하는 것. 물리 계층 -> 데이터 링크 계층 -> 네트워크 계층 -> 전송 계층 현재의 네트워크 통신은 데이터를 작게 쪼갠 형태인 패킷을 주고 받는 형태로 이루어진다. 송신 과정에서는 데이터는 패킷 단위로 분할되어 목적지까지 보내지게 되는데 이때에 전달되는 순서는 일정하지 않다. 데이터를 수신하는 측에서 패킷을 순서에 맞게 다시 결합하여 사용한다. 헤더 정보를 통해 데이터를 확인 및 검증하고,검증이 끝난 헤더는 제거된 후 상위 계층으로 전달된다. 헤더에는 출발지와 ..

이론 2022.05.24