오늘도 네트워크와 관련된 문제이다 :)

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의 주소 고갈 문제를 연장시켰다.