응답을 받은 브라우저는 Content-Type를 확인한다.
서버는 클라이언트에게 요청을 받은 후 응답을 보낸다. 이때, 응답을 보내는 컨텐츠가 어떤 컨텐츠인지 알려주는 내용도 헤더에 포함 후 전송한다. 만약, 모든 응답이 text/html 이라면.. 브라우저는 CSS, JS, 이미지 등의 파일 모두 HTML로 인식하기 때문에 정상적으로 작동하지 않는다.
따라서 URI의 확장자가 css인 경우 헤더 값을 text/css로 응답을 보내도록 구현해야 한다.
private void response200HeaderWithCss(DataOutputStream dos, int lengthOfBodyContent) {
try {
dos.writeBytes("HTTP/1.1 200 OK \r\n");
dos.writeBytes("Content-Type: text/css,*/*;q=0.1\r\n");
dos.writeBytes("Content-Length: " + lengthOfBodyContent + "\r\n");
dos.writeBytes("\r\n");
} catch (IOException e) {
log.error(e.getMessage());
}
}
'Java' 카테고리의 다른 글
[Java] 응답 데이터를 처리하는 로직을 HttpResponse 클래스로 분리 및 리팩토링 (0) | 2023.03.19 |
---|---|
[Java] 요청 데이터 처리 로직을 HttpRequest 클래스로 분리 및 리팩토링 (0) | 2023.03.19 |
[Java] HTTP 웹 서버 구현 / 로그인 구현 (0) | 2023.03.17 |
[Java] HTTP 웹 서버 구현 / 302 status code 적용 (0) | 2023.03.17 |
[Java] HTTP 웹 서버 구현 / POST 방식으로 회원가입 (0) | 2023.03.17 |
댓글