html과 jsp를 배우면서 사용자 입력 정보가 필요할 때 쓰는 get과 post를 많이 사용해보았지만 그저 url에 보내는 방식과 패킷 body 안에다가 보내는 방식 이다 정도 밖에 몰랐었다.




다들 기본적인 get과 post에 알거라 생각하고 기본적인 get post에 대한 내용은 생략하고 바로 본론으로 넘어가겠다.


결국 get과 post에 차이는 내가 원래 알고 있었던 url에 보내는가 패킷 body안에 보내는가의 차이에서 다 온다고 생각한다.



 1. 데이터의 크기 

get은 url에 보내므로 url은 길이제한이 있기 때문에 짧은 데이터

post는 길이제한이 없으므로 긴 데이터의 적합


음.. IE에 경우 2083자 제한이 있고 나머지 브라우저는 없다 그래서 이 차이점은 중요하지 않는듯..



 2. 보안

get방식은 url에 키와 값이 모두 노출 되므로 보안에 취약하고

post는 직접 노출이 되지 않아 보안에 유리하다.


이 내용도 썩.. 와닿지 않는다 post는 그처 최~~소한의 보안을 하는 수준인 듯 하다. 어차피 암호화 되지 않는건 마찬가지기 때문에..



 이 다음 부터가 중요하다고 생각한다.

 get은 단어 뜻 그대로 받다,얻어오다 post는 게시하다 

 즉 get은 파라미터로 특정한 정보를 요청하는데 쓰이고 ( 이러한 짓을 해도 다른곳에 영향을 주지않음 예를들어 검색하기 조회하기등등... )
 post는 내가 전달한 키와 값이 다른 곳에 영향을 끼친다 ( 회원정보를 제공해 회원등록이 되고 게시판에 글을 작성하고 ..)



 이렇게 검색창은 get방식을 사용한다. 

 내가 어떤 내용을 검색하고 그것을 공유하고 싶으면 그저 url을 공유하면된다. 남이 같은 url을 입력하면 같은 페이지를 볼 수 있다.  만약 post방식으로 검색을 구현했다면 남에게 공유하려면 어떤 검색어를 쳐서 어떤 경로로 가는걸 다 말해주어야 할 것이다.

 또 내가 어떤 내용을 검색한다고 검색된 내용이 바뀐다던가 같은 영향을 끼치지 않는다. (조회기록은 남겠지만) 





 회원가입 같은 경우는 post방식을 사용한다

 내 개인정보를 입력해서 회원가입을 하는데 이러한 내용을 공유할 필요가 있는가?

 또 회원가입을 하면 내 정보가 db에 올라가고 나는 네이버에 회원이 된다. 이렇게 post방식은 영향을 끼친다.

 만약 get방식 이라면 그url이 남아 중복으로 회원가입이 요청되는 등 에 문제가 생길 것이다.



 내 생각대로 정리하자면 일회성이 필요한 정보들은 post로 남들과 공유하고 반복이 필요한경우 get을 써야 할 것같다.

 아까 말한대로 get은 영향을 끼치지 않으니 반복하고 남이해도 상관이 없지만 post는 영향을 끼치니 말이다.







참고


https://blog.outsider.ne.kr/312

http://uiandwe.tistory.com/1133

'JSP' 카테고리의 다른 글

[JSP] GET방식 POST방식 인코딩 디코딩 방법  (0) 2018.08.09
[JSP] out.println 줄바꿈  (0) 2018.08.07

+ Recent posts