Header

    [Spring] Accept-Language 헤더에 따라 다국어 지원하는 방법 한 번에 정리하기

    HttpServletRequest 사용해 Accept-Lanauge 헤더 처리하기 HttpServletRequest를 사용해 Aceept-Lanauge 헤더를 처리하고, Locale 객체(지역 정보를 나타내는 객체)로 변환하기 위해서는 ServletRequest의 함수로 선언된 getLocale 함수를 사용하면 된다. @GetMapping("/bloginfo/kotlinworld") fun getBlogInfo( request: HttpServletRequest ): ResponseEntity { val locale: Locale = request.locale // getLocale 실행 해 HttpServletRequest의 Accept-Lanauge 헤더 정보를 Locale 정보로 변환 ?: retu..

    [Spring] @RequestHeader 사용해 HTTP Request의 헤더 값 처리하기

    @RequestHeader 사용해 HTTP Request의 헤더 값 처리하기 @RequestHeader을 사용하면, Http Request의 헤더에서 특정 키에 대한 값을 변수에 매핑할 수 있다. 예를 들어 헤더에서 Accep-Language 의 값을 찾아내 accepLanguage 변수에 매핑하고 싶다면 다음과 같이 사용하면 된다. *물론 실제로 Accept-Language는 복수의 언어가 올 수 있기 때문에 이렇게 처리하면 안된다. 여기서는 간단한 예시를 위해 이렇게 만들었다. @Controller class HomePageController { @GetMapping("/blog/info") fun getBlogInfo( @RequestParam(value = "blogUrl") blogUrl: St..

    [HTTP] 1. HTTP 메세지는 어떻게 구성되었는가? Start Line, Header Body로 보는 HTTP 메세지

    HTTP 메세지 구조 HTTP의 메세지는 3가지 부분으로 나뉘어져 있다. Start Line(시작 라인) Header(헤더) Body(바디) HTTP메세지는 ASCII Characterset을 사용하는 문자열로 전송이 되기 때문에 필요한 부분을 파싱하기 위해서는 각 부분의 구조화가 필요하다. 각 부분은 다음과 같이 구조화된다. Start Line 한 줄로 이루어져 있다. 첫 번째 줄이 무조건 시작 라인이 되며 시작 라인은 두 줄 이상은 될 수 없다. Header 헤더는 첫 줄을 제외한 공백라인이 나오기 전까지의 줄이다. 헤더는 수십줄, 수백줄이 될 수도 있다. Body 바디는 공백 라인 뒤의 모든 라인으로 이루어져 있다. 간단한 규칙이다. 자 그러면 각 부분에서 어떤 일을 하는지 살펴보자. Start L..