인프런 커뮤니티 질문&답변

성동원님의 프로필 이미지

작성한 질문수

[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]

GET과 POST 질문입니다.

21.10.07 14:40 작성

·

227

0

GET은 캐싱이 가능하고

POST는 캐싱이 불가능하다고 하셨는데요.

잘 이해가 되지 않습니다.

 

POST는 URL상으로 확인불가하기때문에 캐싱이 불가능하다로만 알자 로 넘어가려했지만

좀 더 이해가 필요할것 같아서요.  

답변 2

0

박매일님의 프로필 이미지
박매일
지식공유자

2021. 10. 09. 00:20

POST,GET방식 모두 케싱과는 상관이 없습니다. 케싱이라는 말이 어디에서 사용이 되었을까요? 클라이언트가 서버로 요청하는 방식이 POST방식, GET방식으로 나누어지고 그때 데이터를 넘기는 방식의 차이라고 보면됩니다.

그리고 클라이언트가 서버로 전달할 데이터가 있다면 요청 할때마다 데이터는 서버로 전달됩니다. 서버는 POST방식이든 GET방식이든 데이터를 받는 방법은 동일하구요. 아래처럼요

String aaa=request.getParameter("파라메터이름");

0

박매일님의 프로필 이미지
박매일
지식공유자

2021. 10. 07. 15:31

네 POST방식전달은 서버로 넘어가는 파라메터가 패킷으로 만들어져서 서버로 전달되기때문에 우리 눈에  넘어가는 값이 보이지않습니다. 패킷은 기본 1024byte크기로 만들어지고 패킷의 구조는 Header와 Body로 구성됩니다. 예를들어 서버로 넘기는 데이터가 

ㆍid=abc, pwd=123 이라면

POST방식은ㆍ패킷의 Body부분에 id=abc&pwd=123 이런식으로 만들어져서 서버로 전달됩니다.

반면 GET방식도 패킷으로 만들어지긴 하지만ㆍURL에 ?id=abc&pwd=123 이런식으로(queryString)전달되기 때문에 넘어가는 값이 눈에 보이는 것입니다.

아무래도 데이터의 보안이 필요하면 POST방식으로 전달하는것이 좋겠습니다.

이해가되셨을까요~~

성동원님의 프로필 이미지
성동원
질문자

2021. 10. 08. 22:50

답변 감사합니다. 그런데 캐싱이란게 과거의 데이터를 계속 사용하는 거로 알고 있는데요. POST는 데이터가 눈에 보이지 않아서 과거의 데이터가 뭔지도 말할 것도 없기 때문에 계속 사용할 수 없다고 알면 될까요? 반면에 GET방식은 눈에 보여지기 때문에 계속 그걸 재사용할 수 있다. 그래서 캐싱이 가능하다. 이런식으로 이해해도 되는지요.