HTTP

· Spring/MVC
@RequestHeader 사용해 HTTP Request의 헤더 값 처리하기 @RequestHeader을 사용하면, Http Request의 헤더에서 특정 키에 대한 값을 변수에 매핑할 수 있다. 예를 들어 헤더에서 Accep-Language 의 값을 찾아내 accepLanguage 변수에 매핑하고 싶다면 다음과 같이 사용하면 된다. *물론 실제로 Accept-Language는 복수의 언어가 올 수 있기 때문에 이렇게 처리하면 안된다. 여기서는 간단한 예시를 위해 이렇게 만들었다. @Controller class HomePageController { @GetMapping("/blog/info") fun getBlogInfo( @RequestParam(value = "blogUrl") blogUrl: St..
· Network/HTTP
시작하며 HTTP(HyperText Transfer Protocol) 통신은 클라이언트와 서버 간 데이터를 주고 받기 위한 프로토콜이다. 다시 말하면, HTTP 통신 자체는 어떤 형식의 데이터를 보낼지 미리 정의해 놓는 방식일 뿐이다. 따라서 클라이언트와 서버간 HTTP 통신이 일어나기 위해서는 데이터를 주고 받기 위한 여러 기술이 필요하다. 이번 글에서는 HTTP 통신이 일어나기 위해 내부적으로 어떤 일이 일어나는지를 정리해본다. IP 레이어 IP 레이어란 무엇인가? 먼저 클라이언트와 서버를 생각해보자. 클라이언트와 서버는 컴퓨터일 뿐이며, 데이터를 요청하는 쪽이 클라이언트 데이터를 보내는 쪽이 서버가 된다. 따라서 이 둘간의 통신을 위해서는, 두 컴퓨터가 연결되기 위한 주소값이 필요하다. 이러한 역할..
· Network/HTTP
HTTP 응답 메세지의 구성 HTTP 응답 메세지는 다음과 같은 형태로 구성된다. [HTTP 버전] [응답 상태 코드] [상태 메세지] [헤더] [빈 줄] [메세지 바디] 각 항목에 대한 설명은 다음과 같다. HTTP 버전: HTTP의 버전을 나타낸다. HTTP/0.9, HTTP/1.0, HTTP/1.1, HTTP/2.0 등이 될 수 있다. 응답 상태 코드: 100번대부터 500번대의 응답 코드를 나타낸다. 예를 들어 200이라면, 요청이 성공했다는 것을 뜻한다. 상태 메세지: 상태 메세지를 나타낸다. 예를 들어 상태 코드가 200번이라면 OK 같은 메세지를 전송할 수 있다. 상태 메세지는 없을 수도 있다. 헤더: 헤더에는 메세지 바디를 통해 전달할 콘텐츠의 MIME 타입(Content-Type), 콘텐..
Spring에서 서블릿 만드는 방법 1. 서블릿 스캔을 위해 SpringBootApplication 위에 @ServletComponentScan Annotation을 붙인다. @ServletComponentScan // 서블릿 자동 등록 @SpringBootApplication class ServletExampleApplication fun main(args: Array) { runApplication(*args) } 2. 1에 의해 ServletExampleApplication 하위의 모든 패키지의 @WebServlet이 스캐닝 되므로 base 패키지를 추가하고 HelloServlet 클래스를 추가한다. 3. HelloServlet 클래스는 다음과 같이 작성한다. @WebServlet Annotatio..
· Network/HTTP
DELETE 메서드 DELETE 메서드는 리소스를 삭제하기 위해 사용된다. DELETE 메서드는 특정 리소스를 제거하기 위해 사용된다. 특정 경로의 리소스를 제거하기 위해 사용되므로, 데이터를 담는 바디가 있을 필요가 없다. 따라서 DELETE 메서드는 시작라인과 헤더로만 구성된다. DELETE 메서드 수행 시 과 같이 삭제를 요청 받은 리소스 경로의 리소스는 제거된다. 물론 없으면 아무런 일도 일어나지 않는다.
Dev.Cho
'HTTP' 태그의 글 목록