GET과 POST의 차이, NAT란?
오늘도 네트워크와 관련된 문제이다 :)
HTTP에서 GET과 POST의 차이는?
두 방식 모두 HTTP 프로토콜을 이용해 서버에 요청을 할 때 사용한다.
하지만 둘의 특징을 이해하고 기술 목적에 맞게 사용해야 한다.
GET
요청하는 데이터를 HTTP Request Message
의 Header url에 담아 전송한다.
url에 데이터를 담아서 전송하기 때문에 전송할 수 있는 데이터의 크기가 제한적이며,
민감한 데이터에 대해 요청할 경우 url에 요청 정보가 노출되므로 GET
방식은 부적절하다.
POST
요청하는 데이터를 HTTP Message의 Body
에 담아 전송한다.
데이터를 body에 담아 보내기 때문에 GET 방식보다 안전하고 더 많은 데이터를 요청할 수 있다.
GET
방식은 데이터를 가져오기만 하지만 POST
는 서버의 상태를 변경하기 위해서도 사용한다.
NAT란 무엇인가?
사설 IP가 외부 인터넷에 접속하기 위해서는 공인 IP주소를 가져야 하는데,
이 때 사설 IP를 공인 IP로 바꿔주는 데 사용하는 것이 IP주소 변환기인 NAT(Network Address Translation)
이다.
외부에서 들어오는 공인 IP 주소 또한 들어올 때 사설 IP 주소로 변환한다.
이렇게 주소 변환과정이 반드시 필요하기 때문에, 보안성이 좋다는 Side Effect가 있다.
NAT는 공인 IP 주소와 사설 IP 주소를 분리함으로써, IPv4의 주소 고갈 문제를 연장시켰다.