티스토리 뷰
우리는 인터넷을 이용하기 위해
google.com, daum.net, naver.com 등을 인터넷 주소창에 입력하죠?
위에 나열한 구글, 다음, 네이버 에 접속하면
[웹사이트]가 나타나고 우리는 이를 자연스럽게 이용합니다.
여러분들이 [웹사이트]에 접속하는데 사용하는
크롬, 인터넷 익스플로어, 엣지, 웨일, 파이어폭스 등의 프로그램을 [웹브라우저] 라고 부릅니다.
[웹브라우저]는 웹사이트의 내용을 살펴볼 수 있게 해주는 인터넷 탐색 프로그램입니다.
사실 이것은 윈도우 파일탐색기와 비슷합니다.
[웹사이트]에는 실제로 수 많은 폴더가 존재하고,
각각의 폴더마다 많은 파일들이 채워져 있는데
우리가 사용하는 윈도우와 같다고 생각하시면 됩니다
차이점은 윈도우 파일탐색기는 파일의 내용을 직접 클릭해야 확인할 수 있지만,
[웹브라우저]에서는 [웹사이트]의 내용이 한눈에 보기 좋게 나타납니다.
[웹사이트] naver.com 에 접속하면 표준화된 첫화면을 만날 수 있습니다.
이런 단일 화면을 [웹페이지] 라고 합니다.
상단에는 초록색 검색창이 있고, 우측에는 로그인 메뉴,
그리고 중앙에 광고창, 그 아래 뉴스창, 오른쪽 하단엔 쇼핑 메뉴 창 정도로 이루어진 표준 구성이죠
하나의 [웹사이트]에는 수많은 페이지를 가지고 있습니다.
아까 윈도우 탐색기와 비슷하다고 이야기 한 것 처럼
네이버에는 첫화면 페이지, 로그인 페이지, 뉴스 페이지, 쇼핑 페이지, 지식인 페이지, 카페 페이지 등
수많은 페이지가 실제로 폴더와 파일로 구분되어서 존재하는 것입니다.
그리고 페이지를 나타내는데 필요한 그림파일, 사진파일, 아이콘 파일 등도 특정한 폴더에서 잘 저장되어 있습니다.
[웹페이지]의 특징은 마우스 클릭을 통해서 사람들이 쉽게 이용할 수 있다는 점입니다.
주로 html 이라는 프로그래밍 언어를 기반으로 하는 [웹프로그래밍 언어] 와 [웹브라우저] 가 이를 가능하게 해주는데요
[웹프로그래밍 언어]를 통해 [웹페이지]의 특정 위치에 사진이나 아이콘을 배치하고,
어떤 글자나 메뉴를 클릭하면 다음 화면으로 넘어갈 수 있게하고,
로그인 창에 내 아이디를 입력하고 입력 버튼을 누름으로써 내 정보를 [웹사이트]에 전달할 수 있게 하는 등
[웹페이지]의 디자인과 기능을 설계하고 실제로 작동할 수 있게 해줍니다.
* 하나의 주소 안에서 여러 [웹페이지]가 잘 구성되고 동작하면 [웹사이트] 라고 보시면 됩니다.
* [웹브라우저]는 <그림2> 같은 코드로 작성된 웹페이지를 해석해서 <그림1> 과 같은 모양으로 변환해줍니다.
이 글을 읽고 있는 여러분들 중 누구라고 [웹프로그래밍 언어]를 배운다면
네이버와 같은 [웹사이트]를 제작할 수 있습니다.
* naver.com 은 복잡하고 안전한 기능을 자체적으로 많이 개발하고 적용한 사이트입니다.
초보자는 네이버 수준보다는 훨씬 간단한 페이지 제작부터 시도해야겠죠?
눈에 보이는 디자인을 잘 완성시킨 [웹페이지] 는 내 컴퓨터에서는 실행할 수 있지만
다른 사람들이 [웹사이트] 처럼 이용하게 하려면 [웹서버]가 필요합니다.
[웹서버]가 동작을 해야 사람들이 인터넷을 통해서 내가 만들 페이지에 접속할 수 있게 되는 겁니다.
[웹서버]는 인터넷 사이트 운영을 위한 작은 윈도우 운영체제(Windows OS) 정도로 이해하시면 됩니다.
[웹서버]가 먼저 동작을 하고, 그 안에 [웹페이지]가 폴더별로 잘 구분되어야 [웹사이트]로서 작동 할 수 있는 거죠.
그런데 내가 [웹서버] 와 [웹페이지] 를 잘 준비해서 [웹사이트]를 완성한다면
사람들은 어떻게 내 [웹사이트]에 접속할 수 있을까요?
사람들이 [웹사이트]에 접속하기 위해서는 주소가 필요합니다.
이러한 웹주소를 [IP] 또는 [IP 주소] 라고 부릅니다.
* IP 는 Internet Protocol 의 약자입니다. 이는 인터넷 통신을 하는 표준방식을 의미합니다.
인터넷 통신을 위해서는 나와 상대방이 정해진 방식으로 정보를 전달해야 합니다.
이러한 표준방식을 Protocol 이라고 하고, 인터넷 통신을 위한 표준방식이 IP 입니다.
우리가 [웹사이트] 접속을 하려면 IP 주소(IP address) 가 필요한 것이고요
IP 주소는 0.0.0.0 ~ 255.255.255.255 로 이루어져 있습니다.
하지만 우리는 인터넷을 통해 [웹사이트]에 접속하기 위해 이런 숫자값을 입력하는 일은 거의 없습니다.
일단 기억하고 사용하기 힘들기 때문이죠
그래서 이런 복잡한 숫자값을 사람들이 기억하기 쉬운 문자주소로 변환해주는 기술이 있습니다.
DNS(Domain Name Service) 라고 불리는 기술 덕분에
우리가 216.58.197.206 대신에 google.com 을
125.209.222.141 대신에 naver.com 을 [웹브라우저]에 입력해도 구글이나 네이버로 바로 접속이 가능한 것입니다.
원래 구글은 216.58.197.206 이라는 [IP 주소](인터넷 주소) 에 [웹사이트] 가 마련되어 있는데
google.com 이라는 [도메인] 을 입력해도
216.58.197.206 주소로 변환해서 사용할 수 있도록 되어있는 것입니다.
그리고 [ip 주소]와 함께 알아야하는 것이 [포트 번호], [Port] 입니다.
[IP 주소]는 웹서핑을 할때만 쓰이는 것이 아니라 인터넷 주소 그 자체 입니다.
즉, 인터넷을 이용하는 프로그램이라면 [IP 주소]를 통해 정확히 어떤 컴퓨터를 찾아간다던지,
서로 통신할 수 있다는 이야기입니다.
인터넷은 [웹사이트] 뿐만 아니라
파일공유, 터미널 접속, DNS 정보제공, 메일 전송, 특별한 프로그램의 전용 접속 등 여러가지 용도로 쓰이게 되는데요
중요한 것은 A라는 컴퓨터와 B라는 컴퓨터가 10여개 이상의 프로그램을 이용해서 통신하더라도
A의 [IP주소]와 B의 [IP주소]는 각각 1개씩이라는 것입니다.
한개의 [IP 주소]에서 10개도 넘는 서비스를 이용하기 위해서는
IP 뒤에 [포트 번호]를 추가해서 구분할 수 있습니다.
예를 들어 A 컴퓨터의 주소가 10.0.0.1 이고 파일공유 서비스는 21번 포트를 이용하기로 약속되어 있다면
[IP주소]를 [포트번호] 까지 표기해서 10.0.0.1:22 로 접속해라 하는 식으로 이용할 수 있는거죠.
[포트번호]는 0~65534 까지 아주 다양하게 존재하고 인터넷상에서 미리 정해져있는 [포트번호]도 제법 많습니다.
그리고 [포트번호]도 [IP주소]와 마찬가지로 일반사용자가 모두 외워서 이용하기엔 부담스럽습니다.
그래서 웹접속은 80번 포트를 사용해야하지만 http:// 라는 [프로토콜]을 적어줘도 서로 호환이 됩니다.
즉 naver.com 에 접속하려면 [웹브라우저]에 http://naver.com 을 적으면 되고,
[웹브라우저] 에서는 naver.com:80 으로 변환이 되고,
실제 네이버 웹사이트의 [IP 주소]를 찾으면서 125.209.222.141:80 으로 접속하게 되는 것입니다.
* 지금이라도 인터넷 브라우저 주소창에 125.209.222.141:80 을 입력해보세요. naver.com 으로 잘 접속이 될 겁니다.
다만 [웹브라우저]는 [웹사이트] 접속을 위한 전용프로그램이라
사용자들이 http:// 나 :80 을 붙이지 않아도 기본으로 해석해 주는 것입니다.
네이버를 예로 들어 살펴보았는데 https:// 는 http 의 보안강화된 프로토콜입니다.
secure http 라고 이해하시면 되고, 80이 아닌 443 포트를 사용합니다.
네이버는 80 포트 일반 http 가 아닌 https 를 기본 서비스로 제공하고 있어서
naver.com:80으로 접속하더라도 자동으로 naver.com:443 으로 이동시켜 준 것입니다.
* www는 인터넷을 구성하는 수많은 서비스 중 웹서비스를 표현하는 문구입니다.
* 정리
[웹페이지]
웹프로그래밍 언어를 통해 작성된 웹페이지
[웹사이트]
웹서버가 작동하고 웹페이지가 모여있는 공간
[웹서버]
웹사이트가 제대로 동작하기 위한 환경을 만들어주는 웹전용 프로그램
[웹브라우저]
웹사이트의 내용을 살펴볼 수 있게 해주는 프로그램
[IP]
인터넷 통신 및 접속에 사용할 수 있는 주소값(예, 125.209.222.141)
[도메인]
IP 를 문자방식으로 표현한 주소값(예, naver.com)
[DNS]
IP 와 도메인을 연결해주는 기술
[포트]
하나의 IP주소에서 제공하는 다양한 서비스를 구분해주는 번호(예, naver.com:80)
[프로토콜]
포트 번호를 도메인같이 텍스트로 표현한 방식(예, http://naver.com)
'수업 노트 > 컴퓨터 기초' 카테고리의 다른 글
chatGPT가 설명하는 RSA 키 구현 원리 (0) | 2023.04.25 |
---|---|
윈도우 기본앱 알람 및 시계를 시작프로그램으로 등록하기 (4) | 2022.03.21 |
온라인 컴파일러(replit.com) 사용법 (0) | 2021.08.31 |
base64 인코딩 원리 (0) | 2021.08.29 |
인코딩과 디코딩 (0) | 2021.08.28 |
- Total
- Today
- Yesterday
- 리터럴
- bz2
- SSL
- HTTPS
- gz
- grep
- tr
- tar
- X32
- 32bit
- OverTheWire
- ssh
- BASE64
- solution
- Bandit
- OpenSSL
- find
- natas7
- Natas
- Strings
- Linux
- 웹보안
- 풀이
- nc
- Encode
- 압축파일
- over the wire
- 리눅스
- 웹보안공부
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |