● 웹 프로그램
웹 프로그램이란
인터넷 서비스를 이용해서
서로 다른 구성요소들(PC 등)이 통신할 수 있는 프로그램이다.
자세하게 설명하고자 밑에 그림을 참조해보도록 한다.
▶ 인터넷 서비스
우리가 흔히 사용하는 pc, 핸드폰, 태블릿 등등 이러한 것들은
각자 가지고 있는 정보를 주고받고자,
네트워크상에서 서로서로 연결되어 있다.
그렇다면 정보를 주고 받는 것은
어떻게 이루어질까?
▶ 브라우저 요청,응답(통신)
우리가 흔히 사용하는 인터넷(브라우저)로
서버에 요청(request)을 보내면, 서버는 그에 맞게 응답(response)을 해준다.
우리는 인터넷을 이용할 때 우리도 모르게 항상 요청, 응답을 한다.
예를들면 네이버에 접속하기 위해
www.naver.com 을 주소창에 입력한다.(요청)
이게 바로 요청이다.
내가 원하는 결과(네이버 화면)를 얻고자 할 때 하는 것이 요청이다.
그러면 네이버가 가진 서버에서 그 요청을 받고,
네이버 화면을 띄워준다.(응답)
이게 바로 응답을 해주는 것이다.
● 프로토콜(Protocol)
프로토콜이란, 통신을 하기위한 규약이다.
위에서 설명했듯이
언제 어디서나 인터넷(사람)과 인터넷(사람)이 정보를 주고받는다.
이때 서로간의 통신을 하기위한 규약이 프로토콜이다.
예를들면 외국인과 대화를 한다고 했을 때,
중간에 통역을 해줄 수 있는 것(번역기, 번역가 등등)
쉽게 말해 번역기 역할이라고 생각할 수 있다.
이러한 프로토콜에는 HTTP, FTP, SMTP, POP등이 있다.
○ 프로토콜 종류
1. HTTP
- 웹 상에서 파일(텍스트, 이미지, 비디오 등등)을 주고받는데 필요한 프로토콜
2. FTP
- 인터넷 상의 컴퓨터들간에 파일을 교환하기 위한 표준 프로토콜
3. SMTP
- 전자우편을 보내고 받는데 사용되는 프로토콜
● IP
IP란
어떠한 컴퓨터의 특정한 주소(address)이다.
서버를 가진 사이트의 ip 주소는 보통
192.168.12.32 <- 이런식의 숫자 형태의 주소로 되어있다.
우리가 자주 사용하는 구글, 네이버도 마찬가지이다.
그렇다면 구글 사이트에 접속하기 위해 구글의 ip 주소를 외워야 하냐..
그것을 해결하고자 DNS(Domain Name Sercer) 가 나왔다.
복잡한 구글의 ip주소를 DNS를 통해
우리가 흔히 알고있는 google.com 으로 접근할 수 있다.
▷ 인터넷 주소의 구조
● 웹 프로그래밍 동작 원리
그림을 먼저 살펴보자.
네이버 사이트 접속을 예로 천천히 설명해보고자 한다,
PC(사용자)가 주소창에 네이버 주소를 입력(요청) 했다.
이때는 pc -> web server 이다.
그를 통해 네이버 웹 서버에선 해당 페이지를 전달해준다(응답)
이때는 web server -> pc 이다.
다음으로 아이디, 비밀번호를 입력해 로그인을 하고자 한다(요청)
이때 네이버 측에선 아이디가 존재하는지, 패스워드는 일치하는지 검사를 해야한다.
이를 위해 WAS에는 위의 검사요소(아이디 존재, 패스워드 일치)들을 검사하는 로직이 있다.
이 로직에 의해 Database에 접근을 해서 아이디가 존재하는지, 패스워드가 일치하는지
결과를 반환해주고 문제가 없다면 로그인 후 홈화면을 사용자에게 보여준다.(응답)
결론적으로 Pc-> Web server -> WAS -> DB (여기까지 요청) -> WAS -> Web server -> Pc (응답)
▷ 웹 어플리케이션의 구성요소
구성요소 | 설명 |
웹 브라우저 |
-. 사용자(클라이언트)가 요청한 웹 서버의 결과를 화면에 출력하는 어플리케이션이다. |
웹 서버 |
-. 웹 브라우저의 요청을 받아 들여서 이에 알맏은 결과를 웹 브라우저에 응답해 주는 역할을 한다. -. 요청에 필요한 페이지의 로직이나 데이터베이스와의 연동을 위해서 어플리케이션 서버에 이들의 처리를 요청한다. -. 대표적인 웹 서버의 종류로는 아파치(Apache), IIS(Internet Infomation Server)를 들수 있다. |
웹 어플리케이션 서버 (Web Application Server) |
-. 요청한 페이지의 로직이나 데이터 베이스와의 연동을 처리하는 부분이다. -. 대표적인 WAS로는 BEA사의 웹로직(WebLogic), IBM의 웹스파이어(WebSphere), -. SUN사의 iPlanet, Oracle 9iAS, 국산으로는 제우스(jeus)등이 있다. |
데이터 베이스 |
-. 데이터를 저장하는 곳 예를 들어 회원의 정보나 게시판에 올린 글에 대한 정보 등을 저장한다. |