JSP를 배우기 전에 컴퓨터 관련 기초 지식들을 알아야 하는 것을 느꼈다.
지금 이 글은 내가 학원을 다니면서 까먹기전에 학원에서 배운 것들을
두고두고 기억하기 위해 글로 이 내용들을 저장하려고 한다.
(이 글을 읽기 전 주의 하실 부분은 이것은 저 개인이 학원에서
복습한 내용을 기억하기 위에 작성한 야매적인 지식입니다.
댓글창으로 잘못된 부분이 있다면 지적 바랍니다.
글은 제가 가끔씩 들어와서 수정하곤 합니다.)
웹의 동작 원리
웹은 정적인 웹과 동적인 웹으로 구분 지어질 수 있다.
정적인 것과 동적이라는 말은 단어만으로 봤을 때 딱딱한 것 같기도 하고 이해가 쉽지가 않다.
내가 한국식으로 생각하기엔 이런 이미지로 받아들이는 것이 쉽게 이해가 가긴 하다.
정적인 웹이라는 것은 유저와의 상호작용을 할 수 없는 단지 화면을
볼 수만 있는 단방향 소통을 하는 웹이라는 뜻이고 서버에 저장된 내용만 보여줄 수 있다.
동적인 웹은 그 반대, 양방향 소통을 하는 웹이라는 뜻이다.
서버에 저장된 내용 + 클라이언트의 요청에 따라 동작을 수행할 수 있음
클라이언트 요청에 따라 동작을 수행할 수 있다는 말의 뜻은 이것은 예를들자면 이렇다.
유저가 게시판에 글을 등록을 한다면 해당 웹 페이지에서는 글이 등록이 되고,
이것이 자신의 화면에서만(로컬에서만) 이루어지는 것이 아니라 모든 사람의 화면에서 동작하는 것
예시로는 등록이 예시이지만 수정, 삭제 등등 사용자(클라이언트)와 제공자(서버)가
서로 양방향으로 정보를 주고받아 특정한 기능을 수행하는 것을 양방향의 소통이라고 볼 수 있을 것 같다.
- 다른 표현으로는 정적인 웹 페이지 (Static Web Page), 동적인 웹 페이지 (Dynamic Web Page) 로 표현
네트워크와 인터넷
단지 클라이언트와 서버의 존재만으로는 정보를 주고 받을 수는 없고 그 사이를
가운데에서 네트워크와 인터넷을 통해 주고 받아야 한다.
네트워크는
몇 개의 독립적인 장치가 적절한 영역 내에서 적당히 빠른 속도로
물리적 통신 채널을 통하여 서로가 직접 통신할 수 있도록 지원해주는 데이터 통신 체계
라고 한다...
국제 전기전자 공학회에서 이걸 네트워크라고 정의를 한다고 하는데
결과적으로는 여러 통신장비들이 서로가 통신하며 데이터를 주고 받을 때 쓰는 어떠한 체계 라는 말 아니겠는가
아무튼 네트워크가 이런건데, 장치와의 연결이 핵심이다.
네트워크와 인터넷이 혼동되기도 하는데, 네트워크는 장치와의 연결이 핵심이고
인터넷은 그러한 네트워크들의 연결이 핵심이다.
해저 광케이블을 통해서 우리는 인터넷을 쓸 수 있다.
우리가 국제적으로 통신을 할 수 있는 이유는 저 바다 밑에 광케이블이 깔려있어서
이게 세계 각지로 연결되어 있기 때문이다.
인터넷에는 각각의 컴퓨터마다 IP주소를 갖고 있는데,
우리는 이 IP주소 경로를 통해서 원하는 웹 사이트를 찾아 들어갈 수 있다.
이러한 주소는 어디에서 관리가 되냐면
우리의 웹브라우저 상단에서 주소를 확인할 수 있다.
우리는 네이버를 접속하기 위해 네이버를 구글에다가 검색해서 그 경로를 통해서 네이버에 접속하거나,
사이트 주소에 www.naver.com 이라고 입력을 하여 네이버로 이동한다.
다만 네이버로 이동할 때 네이버의 IP주소를 입력하여 접속을 하는 사람은 없다는 것이다.
방금 위에서 설명했듯이 인터넷에는 각각의 컴퓨터마다 고유 IP주소를 갖고 있어서
이 네이버도 고유의 IP주소를 가지고 있을 것이다.
그렇지만 우리는 일일히 IP주소를 기억해서 그 주소를 입력하지 않는데 DNS (도메인 네임 서버) 덕분이다.
DNS에는 key-value 형태로 우리가 이 네이버의 www.naver.com 과 같이 이러한 이름으로 사이트 주소를 요청하면
응답으로 그 사이트의 주소를 꺼내다 줄 것이다.
여기서도 역시 주소창을 통해서 뭔가를 했는데
주소창을 통해서 사용자가 무언가를 할 수 있다! 라는 것이 가장 핵심인 것이다.
되도 않는 네트워크 인터넷 웹지식 끌어다 온 것은 전부 이걸 설명하기 위해서였다.
주소창에 값을 입력하거나 데이터를 전송할 수 있는 방식들이 있고,
그걸 통해서 우리가 데이터를 전송하고 전달받을 수 있다.
우리는 JSP를 배우기 전에 우리는 주소창을 통해서 우리는 어떠한 정보를 요청하고 응답할 수 있다는 사실을 알게되었다!
'Java (국비지원 당시 공부했던 글) > JSP(+servlet)' 카테고리의 다른 글
jsp - 1. forward, redirect, attribute, scope (0) | 2022.07.26 |
---|---|
JSP를 배우기 전에... - 2. HTTP 프로토콜 작동 순서 (0) | 2022.07.24 |