웹기반어플리케이션

2020-11-25 Request 메소드

햄찌개 2020. 11. 25. 09:24

Request 메소드 : 요청 목적/의도 .............

     목적의 따라 (body)내용이 달라짐 

 

 

Line

Header

Body

 

http 프로토콜을 이용하여 서블릿을 대상으로 발생한 요청에대한 캡슐화

HTTP request 패키징 방식 
1) Request Line : URL Method Protocol/version
http method : 요청의 목적, 요청의 페키징 방식
GET(R) : 조회
POST(C) : 생성
PUT/PATCH(U) : 수정 
DELETE(D) : 삭제
HEADER
OPTION : preflight 요청에서 사용.
TRACE : 디버깅 용도


2) Request Header : meta data(부가적인 데이터 : 데이터를 표현하는 데이터 )  

3) Request Body(only POST) : content body, message body

** request의 메소드 종류 
<%=request.getCharacterEncoding()%> 
<%=request.getContentLength()%> 
<%=request.getContentType()%> 
server : <%=request.getLocalAddr() %>, <%=request.getLocalName() %>, <%=request.getLocalPort() %> 
client : <%=request.getRemoteAddr() %>, <%=request.getRemoteHost() %>, <%=request.getRemotePort() %> 
<%=request.getRequestURI() %>, <%=request.getMethod() %>, <%=request.getProtocol() %> 
<%=request.getRequestURL() %> 
<%=request.getQueryString() %> : ?sector1&sector2....sectorN   -> sector="param_name=param_value" 
<%=request.getLocale() %> : 우선순위가 가장 높은 Locale을 뽑아 온다. 


** 요청파라미터 확보
String getParameter(name), String[] getParameterValues(name)
Map&lt; String,String[]&gt; getParmeterMap(), Enumeration&lt;String&gt; getParameterName()

**파라미터에 포함된 특수문자 처리(RFC 2396 규약에 따라 URL encoding 방식으로 인코딩 되어 전달됨.)
GET
POST
한글 깨지면 GET인지 POST인지 확인부터 한다.
POST면 setCharacterEncoding 사용해본다.: http 프로토콜을 이용하여 서블릿을 대상으로 발생한 요청에대한 캡슐화


body 영역에 multipart로 구성하는 순간 하나의 파트가 본인만의 섹션으로 구성

파트에 들어가는 타입은 각각 다르다.

 

파라미터와 파트의 차이 : 파라미터는 데이터 타입이 무조건 String, 파트는 이진 데이터로보내고 헤더에서 contentType으로 원래의 데이터를 찾는다.