HttpRequest 메시지
4403 단어 httpSpringHttpRequestHttpRequest
HttpRequest 메시지의 내용
POST /save HTTP/1.1
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded
username=kim&age=20
- START LINE
- HTTP 메소드
- URL
- 쿼리 스트링
- 스키마, 프로토콜
- 헤더
- 헤더 조회
- 바디
- form 파라미터 형식 조회
- message body 데이터 직접 조회
위는 간단한 예시이며, 실제로는 훨씬 더 많은 다양한 정보가 포함된다.
HttpServletRequest 객체의 메소드 예시
request.getMethod() = GET
request.getProtocal() = HTTP/1.1
request.getScheme() = http
request.getRequestURL() = http://localhost:8080/request-header
request.getRequestURI() = /request-header
request.getQueryString() = null
request.isSecure() = false
HttpRequest를 통해 데이터를 전달하는 방법
GET 방식의 Query Parameter
- URL 뒤에 "?name=hansu&addr=seoul" 방식으로 전달
- message body 없이 URL 쿼리 파라미터에 데이터 전달
- header의 content-type이 null
ex) 검색, 필터, 페이징HttpServletRequest.getParameter는 동일한 이름의 파라미터가 여러개일 경우, 첫번째 파라미터의 값을 반환해준다.
중복된 파라미터명이 존재할 수 있을 경우, getParameterValues() 와 asIterator(), forEachRemaining()을 활용하도록 하자
POST 방식의 HTML Form
- Header의 content-type이 application/x-www-form-urlencoded
- message body에 쿼리 파라미터 형식으로 전달 name=hansu&addr=seoul
- GET의 Query Parameter 방식과 포맷이 같기 때문에 HttpServletRequest.getParameter 를 통해 똑같이 접근할 수 있다.
ex) 회원 가입, 상품 주문 등 HTML Form 사용해 작성된 데이터html 예시 코드
<form action="/save" method="post"> <input type="text" name="name" /> <input type="text" name="addr" /> <button type="submit">전송</button> </form>
html 메시지
POST /save HTTP/1.1 Host: localhost:8080 Content=Type: application/x-www-form-urlencoded name=hansu&addr=seoul
message body 활용
- HTTP API에서 주로 사용. (Json, XML, text)
- 데이터는 주로 Json
- message body 사용시 HTTP Method는 POST, PUT, PATCH 사용
Author And Source
이 문제에 관하여(HttpRequest 메시지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@zihs0822/HttpRequest-메시지저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)