Web root 경로
DATE : 2023/10/26
Last updated
DATE : 2023/10/26
Last updated
URL에서 다룬 부분에 덧붙여 file path와 관련된 내용을 가볍게 살펴볼까 한다!
여기서 알아볼 주요 개념은 Web root 경로!
web root 경로는 web server가 실행되고 있는 위치를 말한다.
client가 파일을 요청할 때는 기본적으로 web server가 실행된 위치를 기준으로 request를 보내게 된다.
즉 web server가 실행되고 있는 위치가 web root 경로가 되고,
"web root 경로가 어디인가"에 따라 접근할 수 있는 자료가 달라지게 된다.
이해를 돕기 위해 간단한 페이지를 만들어 요청해보자!
Termius에서 이번엔 webDev directory로 들어간다.
directory를 열어보면 알겠지만 dockerCMD 파일이 들어있을 것!
이 파일을 실행하기 전에
현재 실행 중인 docker 파일이 있는 지 확인한다.
실행 중인 파일이 없으니
background mode로 docker 파일 실행했다.
파일을 실행하고 나면 port가 80에서 1018로 변경되기 때문에
형태로 URL을 입력해야 한다.
web root 경로가 webApp directory가 된다는 점이다.
이를 확인하기 위해 webApp directory 안에 hello.html을 작성했다.
webApp directory가 web root 경로라면
을 입력했을 때, 정상적으로 hello.html 내용이 출력 되어야 한다.
바-로 값을 넣어보면
hello.html 내용을 확인할 수 있다. 즉 현재 web root가 webApp directory라는 걸 확인한 셈이다.
이번엔 하위 directory에 있는 파일도 요청해보자.
webApp directory 밑에 files & hanhxx_dir를 만들고 각 directory 안에 info.html을 생성했다.
files directory에 있는 info.html을 얻기 위해서는 URL을 어떻게 입력하면 될까??
기본적으로 webApp directory의 경로가 URL로 표현하면
이므로 "files directory로 들어가 info.html을 줘"라는 요청이 되려면
위와 같이 입력하면 된다! hanhxx_dir directory에 있는 info.html의 경우에는
files 위치에 hanhxx_dir를 넣으면 끝!
결과를 확인해보면 정상적으로 페이지가 출력 되는 걸 볼 수 있다!
여기서 잠깐, 만약 hanhxx_dir directory가
web root 경로인 webApp directory보다 상위 directory인 webDev directory로 이동하면 어떻게 될까?
위에서 말했듯이 docker 파일을 실행한 후에는 webApp directory가 web root 경로가 된다.
현재 hanhxx_dir의 경우에는 web root 경로를 벗어나 있는데..
이때 client가 hanhxx_dir - info.html을 얻을 수 있는 방법이 있을까??
web root 경로에서 한 번 상위 directory로 이동한 뒤,
hanhxx_dir에 있는 info.html을 달라는 요청을 보내게 되면
위와 같이 Not found 응답을 받게 된다.
말 그대로 web root 경로는 web server의 최상위 경로이기 때문에
이 경로를 벗어날 수 없다!!
terminal 상에서 봤을 때는 webApp보다 상위인 directory가 존재하지만
web root 경로는 web server가 실행되는 위치로 지정되기 때문에 web root 경로를 벗어난
요청은 처리 되지 않는다.
여기서 추가적으로 알아야 하는 건 docker 파일을 실행하고 나면