티스토리 뷰

지금까지 실습한 결과 html 파일은 불러오지만, 그 외 js, css 등의 stylesheet 파일은 제대로 호출해오지 못했다.

이것을 알기 위해선 우선 html 파일을 볼 필요가 있다.

 

스승님께서 구현하신 index.html 파일에 들어가면 상단 Head에 css 외에 js 등 웹 페이지를 꾸미는데 필요한 파일 경로가 있다.

클라이언트가 /index.html을 호출하면 html 파일에 지정된 파일들의 개수만큼 n번의 쓰레드가 생성된다.

즉 index.html을 호출하는 요청 외에도 index.html을 이루는 파일 n개의 요청이 생성된다는 것이다. 

 

그럼 도대체 왜 지금까지 아래 이미지와 같이 웹 페이지를 봤던 걸까?

그 이유는 바로 Header값에 있는 Content-Type으로 인한 것이다.

코드의 "Content-Type"은 test/html로 지정이 되어있는데 stylesheet 파일은 다른 형태로 지정해줘야 하는데

자세한 내용은 아래 블로그에 들어가면 볼 수 있다.

https://juyoung-1008.tistory.com/4

 

이제 styleshees를 적용하기 위해 코드를 작성할 것인데, 먼저 response200Header Method에 parameter를 추가했다.

TypeUtil Class로 생성하고, 원하는 stylesheet에 해당하는 파일 형태를 관리할 수 있도록 한 뒤

SplitUtil Class에 stylesheetSplit Method를 생성해 . 기준으로 잘라냈다.

Test code를 작성 후 돌려보니 잘 통과되길래 로컬 서버에 테스트한 결과 

 

특정 파일 일부가 호출이 안 된 것 같은 형태를 볼 수 있었다.

logger를 이용해 stylesheet를 확인해보니 js같은 일부 파일을 불러들이지 못하는 것이 확인되어 코드를 수정하였다.

아래의 사진처럼 /js/scripts.js 형태를 피하고자 split 조건을 추가했다.

/도 추가하여 잘라냈고, 맨 마지막의 표기된 파일 정보만 가져오도록 배열의 맨 마지막 값을 return하도록 하였다.

RequestHandler Class에서 200Header로 split된 값을 보내고 테스트한 결과

아래 이미지처럼 제대로 나온 것을 확인할 수 있었다.

 

이것으로 Request Handler 구현은 끝났고, 남은 것은 Refactoring만 남았다.

 

- 회고 -

구현하고 복습한 뒤 블로그 올리는 것까지 약 한 달이 걸렸다.

실제 구현 시간보다 블로그에 글 쓰는데 더 오래 걸렸는데 정리라는 것이 참 어려운 일이었다는걸 오랜만에 느낄 수 있었다.

그래도 확실히 이렇게 복습하고 정리하니 머릿속에 남은 것이 많았고,

이 미션을 하면서 복습 전에 있었던 cookie 초기화가 안 되는 것으로 인해 쓰레드 세이프에 대한 것도 접할 수 있었는데

구현할 때 설계뿐만 아니라 성능적인 부분에서 잘못되면 어떤 일이 생기는지 조금이나마 느낄 수 있는 미션이었던 것 같다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함