티스토리 뷰

반응형

(참고: 단순히 HTTP 응답 데이터의 매커니즘을 파악하기 위한 글로써 Servlet을 기준으로 작성되었다)

 

서버가 HTTP 응답 메시지를 통해 클라이언트(사용자)에게 데이터를 전송하는 방법을 정리해보고자 한다

요청과 비슷하게 3가지의 방식으로 나뉜다

 

단순 텍스트
response.getWriter().write("ok");

정말 단순하게 텍스트의 데이터만 응답하는 것으로

사용자 화면에 글자 자체만 출력이 되는 형식이다

 

HTML
PrintWriter writer = response.getWriter(); 
writer.println("<html>"); 
writer.println("<body>");
writer.println(" <div>Hello</div>"); 
writer.println("</body>"); 
writer.println("</html>");

이 또한 단순하게 HTML의 코드를 직접 작성하여 응답함으로써

웹브라우저가 html태그를 해석하여 클라이언트에게 제공한다

 

API (JSON)

JSON 데이터 포맷으로 응답하는 방법이다

//JSON 데이터 포맷을 위한 객체
@Getter @Setter 
public class JsonData { 
	private String username; 
	private int age; 
}

//JSON 응답
(생략) {
	//JSON의 content-type의 경우 기본값이 utf-8로 설정되어 있어 인코딩 설정이 필요 없다
	response.setHeader("content-type", "application/json");

	JsonData data = new JsonData();
	data.setUsername("kim");
	data.setAge(20);
    
    // 응답 데이터의 구성 예시 {"username":"kim","age":20}
    
	String result = objectMapper.writeValueAsString(data);
    
	response.getWriter().write(result);
}


//출력 예시
{"username":"kim","age":20}

객체를 통하여 json의 값을 설정해주고 이를 반환하게 되면 데이터 포맷이 그대로 출력이 되는 것을 확인할 수 있었다

 

더보기

개인 학습을 위해 작성되는 글입니다.

제가 잘못 알고 있는 점에 대한 지적 / 더 나은 방향에 대한 댓글을 환영합니다.

 

참조 링크:

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard

https://ko.wikipedia.org/wiki/JSON

 

 

반응형

'WEB > HTTP' 카테고리의 다른 글

[HTTP-Servlet] Request Data(요청 데이터)  (0) 2021.08.20
[HTTP] HTTP 상태코드  (0) 2021.08.02
[HTTP] 쿠키와 세션 그리고 캐시(2)  (0) 2021.08.01
[HTTP] 쿠키와 세션 그리고 캐시(1)  (0) 2021.08.01
[HTTP] Header(헤더)  (0) 2021.08.01
댓글