Web 원격 프로그램 실행
웹은 브라우저 그 자체로 작동하지 않는다. 호출 및 요청을 하는 브라우저와 함께 요청을 받은 내용을 수행하고 결과를 넘겨주는 서버/WAS가 필요하다. 브라우저와 서버는 간단히 연결 할 수 있는데 연결방법을 알아보자. 브라우저에서는 'http://111.222.333.444.8080/ch/hello'를 호출한다. 호출을 받은 서버는 브라우저에서 요구하는 프로그램을 등록하고 브라우저에서 입력한 URL과 프로그램 내의 메서드를 연결한다. 서버에서는 브라우저의 요청에 따라 프로그램을 등록하고 URL과 메서드를 연결해야하는데 @Contoller와 @RequestMapping을 이용해 등록 및 연결을 한다. 프로그램 등록과 URL연결이 끝나면 서버는 결과물을 브라우저에게 보내준다.
HttpServletRequest
브라우저에서 URL을 입력하면 URL에 정보가 담겨 서버에게 요청(Request) 하게된다. 요청을 받은 서버는 WAS를 통해 전달받은 데이터를 HttpServletRequest에 담은 후 이 객체를 프로그램 내의 메서드로 전달한다.
- 브라우저 요청 -> WAS(톰캣) HttpServletRequest 객체생성 -> 메서드 매개변수에 전달
※HttpServletRequest의 메서드
요청 URI에는 다양한 HttpServletRequest메서드가 그림과 같이 포함된다.
요청과 응답
1.프로토콜
프로토콜(protocol)은 서로 간의 통신을 위한 약속, 규칙이다.
2.HTTP(Hyper Text Transfer Protocol)
HTTP는 이름 그대로 텍스트 기반의 프로토콜이다. 텍스트로 쓰여있기에 단순하며 읽기 쉬우며 상태를 유지하지 않는다.(stateless) 즉 클라이언트 정보를 저장하지 않는다.
2.응답메시지
3.요청메시지
요청메시지는 GET과 POST로 나뉜다.
GET | POST |
。서버의 리소스를 가져오기 위해 설계 。QUERY STRING을 통해 데이터를 전달(소용량) 。URL에 데이터 노출되므로 보안에 취약 。데이터 공유에 유리 예)검색엔진에서 검색단어 전송에 이용 |
。서버에 데이터를 올리기 위해 설계 。전송 데이터 크기의 제한이 없음(대용량) 。데이터를 요청 메시지의 body에 담아 전송 。보안에 유리, 데이터 공유에는 불리 예) 게시판에 글쓰기, 로그인, 회원가입 |
출처:스프링의 정석 : 남궁성과 끝까지 간다(패스트 캠퍼스 강좌)
'Spring > SpringMVC' 카테고리의 다른 글
[SpringMVC] @RequestParam과 @ModelAttribute (0) | 2022.02.26 |
---|---|
[SpringMVC] rediect와 forward (0) | 2022.02.26 |
[SpringMVC] 데이터 변환과 검증 (0) | 2022.02.24 |
[Spring MVC] MVC 패턴 (0) | 2022.02.23 |
[Spring MVC] 예외처리 (0) | 2022.02.23 |