들어가기 앞서
이 글은 실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌(https://www.inflearn.com/course/실전-jsp_renew/dashboard)을 수강하며 학습한 내용을 정리한 글입니다. 모든 출처는 해당 강의에 있습니다.
1.1 웹 프로그램이란?
1.1.1 네트워크(network)
- 개인 pc 사용 외에 서버, 스마트폰, 태블릿 등 브라우저가 내장된 컴퓨터 많이 존재
- 그 중 컴퓨터가 서로 연결되어 있는 것을 네트워크라고 함
- 네트워크 안에 많은 인터넷 서비스가 존재하며, 그것을 이용하는 것임
- 브라우저를 통해 데이터를 주고 받음 = 인터넷 서비스를 이용한다
1.1.2 웹 프로그램(web program)
- 어떤 pc(브라우저)에서 다른 서버(컴퓨터)로 어떤 정보 요청(request)을 하면, 서버는 다시 요청을 한 쪽으로 응답(response)를 해줘야 함. 이 전체 흐름을 웹 프로그램이라고 함
- 즉, 인터넷 서비스를 이용해서 서로 다른 구성요소들(ex. pc등)이 통신할 수 있는 프로그램을 의미
- 요청했을 때 데이터를 수집·가공·응답해주기까지의 과정을 웹 프로그래밍 개발이라고 함
1.2 프로토콜과 IP
1.2.1 프로토콜(protocol)
1.2.2 IP(Internet Protocol)
- 구글, 네이버 등과 같은 서버에 어떤 데이터를 요청할 때, 주소를 알아야 함
- 이 때의 특정한 주소를 IP address라고 함
- 숫자로 표현하지만, 가독성이 떨어지므로 DNS란 서버를 둬서 문자로 매핑하여 사용
ex) 네이버 : 125.209.222.141
→ www.naver.com
- IP를 통해 웹서버에 접근했을 때, 웹서버 상에는 프로그램이 여러 개 존재할 수 있고, 원하는 프로그램이 어떤 것인지 찾아야 함
- 이 때 각 프로그램으로 찾아가는 경로를 port라고 함
(많은 프로그램 중에 어느 곳으로 들어갈 것인가)
http://www.google.com:80/index.html
http
: protocol
www
: 인터넷 서비스 구분
google.com
: 도메인
- ┌
80
: port
└index.html
: 가장 먼저 찾아가야 하는 파일명/디렉토리명
- 위의 둘은 따로 입력해주지 않음
- 80은 기본포트이므로 알아서 붙고, index.html은 가장 먼저 실행되는 파일로 지정해놨기 때문
1.3 웹 프로그램의 동작 원리 ★
-
과정
- 사용자(pc)가 웹 서버로 요청(request)
- 요청한 데이터를 데이터베이스로부터 가져올지 말지 판별하기 위해 쿼리를 날림
- 결과 반환하여 응답
-
웹서버에서 데이터를 2가지로 구분
- 정적데이터
- 요청받은 데이터를 따로 가공하거나 할 필요 없이, html로 보여줄 파일
- 동적데이터
- 요청한 데이터를 따로 수집 및 가공, 변경해서 새로운 데이터를 뽑아냄
- 결과적으로 html로 응답
- 웹 컨테이너로 데이터를 가공하여 보내는 경우