1) 프로토콜
웹 브라우저가 서버와 내용을 주고 받을 때 사용할 규칙 이름
웹 페이지 주소를 표현할 때는 http 사용
2) 서버이름
웹페이지를 요청할 서버의 이름
도메인 이름, ip주소 입력가능
3) 경로
웹 페이지의 상세 주소
웹 페이지마다 다른 경로를 갖음
4) 쿼리 문자열
추가로 서버에 보내는 데이터
같은 경로라 하더라도 입력한 값에 따라 다른 결과를 보여줘야 할 때 쿼이 문자열 사용
1) DNS (domain name server)
ip 주소: 웹 서버가 실행중인 컴퓨터의 주소
[문제] 숫자로 되어 있어 외우기 어려움
[따라서] 사람이 기억하기 좋은 도메인 이름 사용
[그러나] 웹 브라우저와 웹 서버는 ip주소로 연결하기 때문에 도메인 이름을 ip로 변환 필요
2) 포트 (port)
[문제] ip 주소만으로는 컴퓨터의 어떤 서버 프로그램을 실행할지 알 수 없음
[따라서] 다른 서버 프로그램과 구분할 수 있도록 포트번호 사용
ex) http://localhost:8080/index.jsp
[마치]소포를 주고받을 떄 전달하려는 내용물을 상자에 담고 상자 겉에 내용물에 대한 내용을 적어 보내는 것처럼..... 웹브라우저와 웹서버는 http라는 방식의 상자를 이용해 요청과 응답 데이터를 주고 받음
1) 요청 데이터
2) 응답 데이터
웹 브라우저에 주소 입력
웹 서버에서 그 주소를 가진 파일의 내용을 응답 데이터로 웹 브라우저에 전송
[문제] 같은 url에 대해 동일한 결과
[따라서] static 정적 페이지
ex) 이미지 파일, html 파일과 같이 자주 바뀌지 않는 것들..
# 동적 자원
시간이나 특정 조건에 따라 응답 데이터가 달라지는 자원
# jsp (javaServer pages)
동적 페이지를 만드는데 사용되는 자바의 표준 프로그래밍 기술
서블릿을 기반으로 동작함
웹 서버가 웹 브라우저의 요청에 대한 응답으로 전송할 데이터를 생성해주는 프로그램을 작성하는 것 (웹 서버가 실행하는 프로그램을 만드는 것)
웹서버의 종류에 따라 웹 프로그래밍을 할 때 사용할 기술이 달라짐
ex) 아파치 웹 서버-php, 톰캣서버-jsp
웹을 위한 연결, 프로그래밍 언언, 데이터 베이스 연동과 같이 어플리케이션을 구현하는데 필요한 기능 제공
웹 브라우저로부터 요청이 오면 알맞은 프로그램을 찾아 실행, 응답으로 전송