본문 바로가기
코딩 공부/web & Java

[JSP] GET과 POST

by 현장 2022. 9. 19.

GET

클라이언트에서 서버로 어떠한 리소스로 부터 정보를 요청하기 위해 사용되는 메서드이다. URL 주소 끝에 파라미터로 포함되어 전송되며, 이 부분을 쿼리 스트링 (query string) 이라고 부른다.

→ 예시 : www.addr.com/main.jsp?name1=value1&name2=value2&name3=value3 & 

 

GET의 특징

  • GET 요청은 캐시가 가능하다.
  • GET 요청은 브라우저 히스토리에 남는다.
  • GET 요청은 북마크 될 수 있다.
  • GET 요청은 길이 제한이 있다.
  • GET 요청은 중요한 정보를 다루면 안된다. (주소에 다 노출이 되기 때문에)
  • GET은 데이터를 요청할때만 사용 된다.

 


POST

클라이언트에서 서버로 리소스를 생성하거나 업데이트하기 위해 데이터를 보낼 때 사용 되는 메서드이다. 전송할 데이터를 HTTP 메시지 body 부분에 담아서 서버로 보낸다.

 

POST의 특징

  • POST 요청은 캐시되지 않는다.
  • POST 요청은 브라우저 히스토리에 남지 않는다.
  • POST 요청은 북마크 되지 않는다.
  • POST 요청은 데이터 길이에 제한이 없다.

GET과 POST 차이점

출처:https://velog.io/@songyouhyun/Get%EA%B3%BC-Post%EC%9D%98-%EC%B0%A8%EC%9D%B4%EB%A5%BC-%EC%95%84%EC%8B%9C%EB%82%98%EC%9A%94

1. 사용목적

GET은 서버의 리소스에서 데이터를 요청할 때, POST는 서버의 리소스를 새로 생성하거나 업데이트할 때 사용한다. (DB로 따지면 GET은 SELECT 에 가깝고, POST는 Create 에 가깝다고 보면 된다.)

 

2. 요청에 body 유무

 GET 은 URL 파라미터에 요청하는 데이터를 담아 보내기 때문에 HTTP 메시지에 body가 없다. POST 는 body 에 데이터를 담아 보내기 때문에 당연히 HTTP 메시지에 body가 존재한다.

 

3. 멱등성 (idempotent)

GET 요청은 멱등이며, POST는 멱등이 아니다.

 

멱등이란
멱등의 사전적 정의는 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미한다.
GET은 리소스를 조회한다는 점에서 여러 번 요청하더라도 응답이 똑같을 것 이다. 반대로 POST는 리소스를 새로 생성하거나 업데이트할 때 사용되기 때문에 멱등이 아니라고 볼 수 있다. 

 

'코딩 공부 > web & Java' 카테고리의 다른 글

[JSP] Session  (0) 2022.09.20
[JSP] JSP전용 태그  (0) 2022.09.19
[HTML] input type="submit"과 button  (0) 2022.09.19
[HTML] section과 article  (0) 2022.09.17
[SQL] 반정규화  (0) 2022.09.14