상황
포트폴리오 웹 페이지를 로컬에서 실행시켰고,
index.html에서 html 파일 5개를 자바스크립트로 로드시켰다.
<!DOCTYPE HTML>
<html>
<head>
<title>손은실의 포트폴리오</title>
<script src="../js/load_html.js"></script>
</head>
<body>
<section>
<div id="home" data-include-path="home.html"></a></div>
<div id="about" data-include-path="about.html"></a></div>
<div id="skills" data-include-path="skills.html"></div>
<div id="archiving" data-include-path="archiving.html"></div>
<div id="projects" data-include-path="projects.html"></div>
</section>
</body>
발생한 오류
Access to XMLHttpRequest at 'file:///C:/Users/EunsilSon/remote/personal-portfolio/html/home.html' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, chrome-untrusted, https.
발생 원인
로그에 적혀있다. "CORS 정책에 의해서 접근이 차단됐다"
CORS는 Cross-Origin Resource Sharing의 약자로 교차 출처 리소스 공유이다.
교차 출처는 다른 출처를 의미한다.
내가 코드를 보기에는 같은 경로의 자원을 요청했지만 index.html(로컬)에서 home.html(로컬)을 로드하기 위해 요청한 home.html(로컬)의 경로가 서버에게는 null로 넘어가기 때문에 다른 경로에 있는 자원이라고 인식해버려서 사용자의 데이터를 보호를 위해 이 접근을 차단해버린 것이다.
해결 방법