https://wccoding.tistory.com/m/91
[DEV] 웹 서버 업로드 오류
웹 페이지를 개발할 때 나는 index파일이 html인 파일만 가지고 개발을 했었다. html 파일은 css나 js파일을 수정하면서 웹 브라우저에서 열어서 쉽게 수정본을 확인할 수 있다. 하지만 내가 맡은 홈
www.danieldevel.info
웹 페이지를 개발할 때, 나는 주로 HTML 파일을 사용하여 개발을 진행했다.
HTML 파일은 CSS나 JS 파일을 수정하면서 웹 브라우저에서 쉽게 열어 볼 수 있어, 수정 사항을 바로 확인할 수 있다는 장점이 있다.
그러나 이번에 내가 맡은 프로젝트에서 문제가 발생했다. 웹 서버에 파일을 업로드했는데, 변경 사항이 반영되지 않는 오류가 생긴 것이다.
오류의 원인을 찾기 위해 여러 가지를 점검해 보았다. 파일명, 경로 등 기본적인 것들을 모두 확인했지만, 별다른 문제를 찾을 수 없었다.
결국 다른 개발자들의 도움을 받아 문제를 해결하기로 했다.
우선, 캐시에 대해 이해할 필요가 있었다.
캐시는 데이터를 미리 복사해 놓는 임시 저장 장소를 의미한다.
데이터를 빠르게 접근할 수 있도록 미리 저장해 두는 방식으로, 캐시는 데이터 접근 시간을 줄여주는 중요한 역할을 한다.
캐시를 사용하지 않을 경우, 데이터 접근 시간이 오래 걸리거나 값을 다시 연산해야 하는 상황이 발생할 수 있다.
예를 들어, 데이터가 원래 저장된 장소에서 접근하는 데 시간이 많이 걸린다면, 캐시를 통해 더 빠른 속도로 데이터를 이용할 수 있게 된다.
내가 겪었던 문제는 웹 브라우저의 캐시 때문이었다.
웹 브라우저는 자주 접근하는 데이터를 캐시에 저장해 두어, 이후에 같은 데이터를 요청할 때 더 빠르게 불러올 수 있게 한다.
그러나 이로 인해 문제가 발생할 수 있다. 서버에 업로드한 최신 파일이 아닌, 캐시에 저장된 이전 버전의 파일을 불러오는 상황이 발생한 것이다.
그래서 내가 새로고침을 해도 여전히 이전 모습이 보였던 것이다.
이 문제를 해결하기 위해 먼저 브라우저의 캐시를 지우는 방법을 시도했다.
대부분의 브라우저에서는 설정 메뉴에서 캐시를 지울 수 있는 옵션을 제공한다.
캐시를 삭제한 후 다시 웹 페이지를 새로고침하니, 서버에 업로드한 최신 파일이 정상적으로 반영되었다.
또한, 강력 새로고침(Ctrl + F5) 기능을 사용하여 브라우저가 캐시를 무시하고 서버에서 최신 파일을 받아오도록 할 수도 있다.
캐시 문제를 해결한 후, 나는 앞으로 이런 문제가 재발하지 않도록 몇 가지 예방 조치를 취했다.
먼저, 중요한 파일을 업데이트할 때마다 브라우저 캐시를 지우는 절차를 습관화했다.
그리고 HTML 파일에 버전 정보를 추가하여, 브라우저가 항상 최신 파일을 받아오도록 했다.
예를 들어, <script src="app.js?v=1.2">처럼 파일명에 버전 정보를 추가하면, 파일이 업데이트될 때마다 브라우저가 새로운 파일로 인식하게 된다.
또한, 서버 측에서도 캐시 제어 헤더를 설정하여 브라우저가 최신 파일을 캐싱하도록 유도할 수 있다. Cache-Control 헤더를 통해 파일의 유효 기간을 설정하거나, 변경될 가능성이 있는 파일은 캐싱하지 않도록 설정할 수 있다.
이번 경험을 통해 웹 개발에서 캐시의 중요성과 그 관리 방법을 깊이 이해하게 되었다.
캐시는 성능 향상에 큰 도움이 되지만, 잘못 관리하면 개발 과정에서 예기치 않은 문제를 일으킬 수 있다.
따라서 캐시를 적절히 관리하고, 필요할 때는 이를 무시하고 최신 데이터를 받아오는 방법을 알고 있어야 한다. 앞으로도 이런 문제를 예방하기 위해 더욱 신경 써서 개발을 진행해야겠다고 다짐했다.
기억보단 기록을
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!