웹브라우저가 무엇인가?
웹은 흔히 얘기하는 인터넷 웹 사이트를 의미하며,
이 웹 사이트를 볼 때 사용하는 크롬, 사파리 등의 소프트웨어를 웹 브라우저라고 한다.
웹이란 : 흔히 얘기하는 인터넷 웹 사이트 : 이 웹 사이트를 볼 때 사용하는 소프트웨어를 웹브라우저(크롬, 사파리 등) : 앞으로 크롬을 기준으로 개발할 예정 : 웹 사이트에서 데이터(텍스트, 링크) 등을 만들 때 사용하는 언어를 HTML이라 함.
초창기 웹브라우저를 만든 netscape라는 회사는 단순한 데이터를 보여주기만 하였는데, 가만히 있는 데이터가 아닌 레이아웃을 바꾸는 등의 부가적 기능을 만들고자 함 : HTML로만은 구현할 수 없어서 또 다른 언어인 JavaScript를 만듦.
HTML으로 만든 버튼, 이미지 등을 색깔, 모서리 등을 추가하여 꾸며줄 수 있는 것을 CSS라고 함.
서버가 무엇인지?
컴퓨터에서 어떠한 서비스를 제공'하고' 있으면, 서버가 된다.
Server : Servcie + er : 서비스하는 사람 : 예로 레스토랑 음식 갖다 주는 스태프 : 컴퓨터도 마찬가지 : 컴퓨터에서 어떤 서비스를 제공'하고' 있으면, 서버가 되는 것.
근데 컴퓨터가 서버가 되면 앞에 수식어가 붙음 : 웹서버, DB서버, 게임서버 등 : 이 수식어는 서버가 해당 수식어를 제공하고 있다는 의미(수식어를 중요하게 보면 됨).
클라이언트가 무엇인지?
서버한테 서비스를 제공'받으면', 클라이언트가 된다.
그러면 클라이언트라는 것은 항상 서버와 붙어 다니는데 의미는? : 서버한테 서비스를 제공'받으면' 클라이언트
즉, 컴퓨터는 언제든지 서버와 클라이언트가 될 수 있게 되는 것임.
IP가 무엇인지?
컴퓨터의 집 주소이며, 0~255 사이 숫자 4가지 구성으로 이루어져 있다.
컴퓨터의 집 주소 : 보통 IPv4 사용 : 0~255 사이 숫자 4가지 구성으로 이루어진 주소 : 12.123.123.123
Domain이 무엇인지?
숫자보다는 문자의 편의성이 높은 이유로, IP에 대해 별명을 부여하는데, 이 별명이 Domain이 된다.
근데, 인간은 숫자보다 문자가 편함 : 숫자(IP)한테 별명을 부여하자 : Domain : 즉, Domain은 IP의 별명 : 집 주소의 별명 : 도메인은 63빌딩이라는 이름이지만, 63빌딩은 특정 주소에 있는 것처럼.
보통은 통신사에서 DNS 서버 주소를 할당해 줌 : 필자의 경우 SK브로드밴드 기본 DNS 주소인 210.220.163.82를 할당받음.
DNS가 무엇인지?
도메인과 IP 주소를 매칭해 놓은 서버를 의미한다.
근데, 현실과는 다르게 컴퓨터 세계에서는 63빌딩이라는 별명만을 가지고 찾아갈 수 없음 : 이것을 해결하기 위한 것이 DNS 서버 : 서버는 서비스를 제공(=DomainNameService를 제공한다) : 집 주소의 별명과 IP 주소를 매칭해 놓은 서버.
사실 클라이언트가 naver.com에 갈 때는 DNS 서버에 질문부터함 : 사용자가 네이버(도메인)에 가고 싶다는데 집 주소(IP주소) 좀 알려줄래? : 클라이언트는 DNS 서버로부터 IP 주소를 받고, 클라이언트는 네이버 서버의 IP 주소한테 HTML 달라고 요청하는 것 : 그러면 네이버 서버는 HTML 내용 클라이언트에게 전달.
PORT가 무엇인지?
컴퓨터 세계에서 특정 서비스를 이용하기 위한 일종의 식별 번호이다.
한국말로 서비스 번호 : 어떤 건물이 있는데, 수영장, 당구장, PC방, 카페 등이 존재 : 현실에서는 카페 가고 싶으면 그냥 카페 가면 되는데, 컴퓨터 세계에서는 불가능 : 각각의 서비스마다 특정 번호가 부여되어 있음 : 서비스를 이용하고 싶으면 항상 번호표인 PORT를 가져가야 함.
우리나라의 여러 카페들이 있는데, 만약 이 카페들을 모두 들리려면 각 카페에 해당하는 번호표를 항상 뽑아 가야 할까? : 이것을 해결하기 위해 카페라는 서비스는 몇 번으로 통일하기로 약속 : well-known Ports
그렇다면, 위에서 naver.com 입력하는 예시에서, 클라이언트가 DNS 서버로부터 받은 네이버 서버의 IP주소에 80번(HTTP 서비스)을 붙이고, IP주소에 HTML을 요청하게 되는 것임.
네트워크가 무엇인지?
두대 이상의 기기가 서로 연결 및 통신이 가능하면 네트워크가 된다.
너와 내가 대화가 가능하면 네트워크라고 할 수 있다 : 통신이 가능하다 : 친구와 내가 대화 중이면 네트워크다 : 그리고 이 네트워크가 서로 연결되어 커지게 된다면 : 인터넷
공유기가 무엇인지?
하나의 네트워크망을 만듦과 동시에 공인 IP와 사설 IP 간의 변환 기능을 수행한다.
IPv4는 약 43억 개의 경우의 수가 존재함 : 하지만 전체 인구에 비해 부족함 : 경우의 수가 훨씬 많은 IPv6가 해결방안으로 나옴 : 그래서 IPv6로 바꾸고 싶었는데, 기존 시스템이 IPv4로 구현된 것이 많아서 호환하기 애매함.
그래서 IPv4를 2가지 대역으로 나눔 : Public(공인) IP, Private(사설) IP: 인터넷 안에서 사용되는 IP주소가 Public, 밖에서가 Private : 이게 IP가 왜 나뉘어야 하는지?
공유기를 이야기해야 함 : 대표적인 기능은 하나의 네트워크 망을 만드는 것 : 공유기에서 다양한 디바이스가 연결될 것 : 하나의 네트워크가 만들어진다는 것은 서로 대화가 가능해진다는 것.
공유기가 인터넷 바깥쪽에 있다고 하면, Private IP이며 공유기를 가지고 엮여있는 네트워크에서 Private IP를 사용하고 있을 것 : 그렇다면 인터넷(네이버 등)으로 나가고 싶으면, 공유기는 Private IP에서 내가 가지고 있는 Public IP로 변경해 주는 역할까지 함.
그럼 결과적으로 왜 이런 기능을 만들고, 나누어놓았을까? : 내 옆집도 동일한 Private IP를 사용하고 있을 수 있음 : 하지만 상관이 없는 이유가 어차피 인터넷으로 나갈 때는 본인의 Public IP로 바뀌어서 나가기 때문임 : 즉, 이러면 훨씬 더 IP를 중복되게 사용할 수 있기 때문에 결과적으로 IP를 아낄 수 있게 되는 것이다.
HTTPS가 무엇인지?
이동하는 모든 데이터를 암호화하여, 보안 통신을 제공한다.
S가 왜 붙었을까 : 공공장소의 Wifi를 사용하면 해킹당한다는 이야기? : 만약 어떤 공유기 네트워크 망과 여기에 연결된 여러 디바이스들이 존재하는데, 한 해커가 이 디바이스들 사이에 껴서 본인이 공유기인 척을 하게 되면, 이 해커는 연결된 통로에 지나가는 모든 정보를 훔쳐볼 수 있을 것.
이를 해결하기 위해 HTTPS 사용 : 연결된 통로에 지나가는 모든 정보를 암호화하게 됨 : 이는 인터넷 바깥쪽에 해당하는 Public IP 즉, 네이버 서버만 풀어낼 수 있음.
크롬에서 S가 안 붙은 사이트로 접속을 하려고 하면, 어떠한 경고창이 떴던 경험이 있을 것 : 혹시나 당신이 사용하는 네트워크 망에 해커가 있으면 당신이 가지고 있는 모든 데이터가 이 사이트를 접속함으로써 안전하지 않을 수 있다는 의미가 됨.
DOM이란 무엇인가?
HTML을 트리 형태로 펼처놓은 것
문서 객체 모델(DOM) : 웹 페이지를 여는 즉시 생성되는 문서 객체 모델(DOM)은 사용자가 서버와 상호 작용하지 않고도 페이지의 모든 콘텐츠에 접근할 수 있도록 돕는다 : 즉, 웹 페이지의 구조를 프로그래밍적으로 접근하고 조작할 수 있게 해주는 모델이다.
브라우저 렌더링 과정
크롬이나 익스플로러가 어떻게 동작할까? : 서비스를 제공받는 클라이언트가 서버한테 요청을 보낼 것 : 예를 들면, 클라이언트가 될 크롬 창에 naver.com을 입력하는 순간, 네이버 웹서버에 "나 HTML 주문하고 싶어"라는 요청을 보내게 됨 : 네이버 웹서버는 HTML을 클라이언트인 크롬에게 전달 : 이 크롬이 HTML을 한줄한줄 해석하여, 눈에 보기 좋게 보여준다 : 이 일련의 과정을 렌더링이라고 한다.
'IT_알토르 > 기술 및 코드과제' 카테고리의 다른 글
6. JavaScript 기초 (2) (0) | 2025.03.09 |
---|---|
5. HTML/CSS 소스코드 만들어보기 (0) | 2025.03.04 |
4. JavaScript 기초 (1) (0) | 2025.02.27 |
3. CSS 기초 (0) | 2025.02.24 |
2. html 기초 (0) | 2025.02.23 |