1. request 객체
- JSP 동작 원리
- 요청과 응답
- 요청 : 웹 클라이언트가 웹 서버에게 특정 페이지의 전송을 요구하는 것
- 응답 : 웹 서버가 웹 클라이언트에게 결과를 전송해 주는 것
-request객체와 response 객체
: 컨테이너는 요청 정보를 서블릿에게 제공하기 위해 request 객체를 만들어 서블릿의 서비스 메소드 doGet(), doPost()에 인자로 제공함
: 서블릿이 상태코드, 응답헤더, 몸체를 표현할 수 있도록 response 객체를 만들어 제공함
- reuqets 객체 : 클라이언트의 요청을 표현하는 JSP 내장 객체
- 기능 : 클라이언트/서버 관련 정보 읽기
: 클라이언트가 전송한 데이터(파라미터) 읽기
: 클라이언트가 전송한 헤더, 쿠키 정보 읽기
: 속성 객체(서블릿 간 데이터 공유)의 처리
2. HTMl 폼과 요청 파라미터의 처리
- HTMl 폼
- 입력을 위한 툴
- 서버로 전송할 데이터를 사용자가 입력하기 위한 것
- 텍스트 필드, 체크박스, 라디오 버튼 등
- 폼과 request 객체
- 폼에 입력된 정보를 파라미터로 전송됨
3. 데이터 전송 방식 GET과 POST 이해하기
<GET>
- 특정 자원을 단순히 가져오는 것
- URL 뒤에 쿼리 문자열을 붙여 요청함
- 길이에 제한(4k), 보안에 취약
- 단순하 질의나 검색에 사용
-파라미터를 포함한 북마크가 가능
<POST>
- HTTP 메시지의 몸체에 데이터를 전달
- 길이에 제한이 없으며 보안이 상대적으로 유리함
- 브라우저 히스토리에 남지 않으며 북마크가 불가능
<전송 데이터의 인코딩>
- 클라이언트는 특정 charset 을 이용하여 데이터를 인코딩하여 전송
- 서버는 같은 charset으로 디코딩해야함
- GET 방식의 경우 Tomcat에서 기본값은 'ISO-8859-1'
4. response 객체
- 클라이언트에게 응답을 제공하기 위해 HttpServletResponse 인터페이스를 구현한 객체
- 기능
- 응답 헤더 정보 설정하기
- 다른 페이지로 강제 이동 시키기
- 쿠키 추가
- 상태 코드 설정하기
- 응답 몸체를 만들기 위한 출력 스트림 객체 제공
- 응답 캐시의 사용 : 서버에 요청을 하지 않고 캐시에 있는 데이터를 사용하여 응답하는 것
- 빠른 응답이 가능
- 서버 로드와 네트워크 사용의 감소
- 내용 변경이 없는 페이지는 캐시를 통해 빠른 응답이 제공될 수 있음
- 응답 헤더에서 캐시와 관련된 필드
- cache-control
- HTTP 1.1에서 지원
- 브라우저가 응답을 캐시할 것인지를 지정
- "no-cache" 로 지정하면 응답 결과로 캐시 내용을 사용하지 않음
'프로그래밍 > TIL(Today I Learned)' 카테고리의 다른 글
4강 처리장치(2) (0) | 2018.09.13 |
---|---|
4강 파스트리와 모호성 (0) | 2018.09.11 |
3강 C++언어의 기초(2) (0) | 2018.09.10 |
2강 C++ 언어의 기초(1) (0) | 2018.09.09 |
3강 유한 오토마타 (0) | 2018.09.06 |