[kotlin] 코틀린 웹 서버에서 정적 콘텐츠 제공 방법

웹 개발에서 정적 콘텐츠란, 변경되지 않는 파일들을 말합니다. 예를 들어 HTML, CSS, JavaScript, 이미지 파일 등이 정적 콘텐츠에 해당합니다. 코틀린으로 웹 서버를 개발할 때, 이러한 정적 콘텐츠를 제공하는 방법에 대해 알아보겠습니다.

1. 설정 파일 변경

코틀린 웹 서버는 정적 콘텐츠를 제공하기 위해 설정 파일을 변경해야 합니다. 이를 위해 routing 설정을 수정하면 됩니다. 예를 들어, Ktor 프레임워크에서는 routing 메서드를 사용하여 경로와 처리할 함수를 연결합니다.

fun Application.module() {
    routing {
        // 정적 콘텐츠 경로 지정
        static("/") {
            staticRootFolder = File("static")
            files("css")
        }
    }
}

위의 예제에서는 /css 경로에 있는 정적 콘텐츠를 제공합니다. staticRootFolder 변수를 사용하여 정적 콘텐츠가 위치한 디렉토리를 설정하고, files 메서드를 사용하여 해당 디렉토리의 파일들을 제공합니다.

2. 자원에 액세스

서버에 정적 콘텐츠를 제공한 후, 클라이언트에서 해당 자원에 액세스하는 방법에 대해 알아보겠습니다. 보통 정적 콘텐츠는 HTML 파일에서 CSS 파일, JavaScript 파일, 이미지 파일 등을 로드할 때 사용됩니다.

HTML 파일에서 CSS 파일을 로드하는 예를 들어보겠습니다.

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" type="text/css" href="/css/styles.css">
</head>
<body>
    <h1>코틀린 웹 서버 정적 콘텐츠</h1>
    <!-- 내용 생략 -->
</body>
</html>

위의 예제에서는 /css/styles.css 경로에 있는 CSS 파일을 로드합니다. 클라이언트가 서버에 요청하면 서버는 해당 경로에 있는 파일을 응답으로 전송합니다.

참고 자료