네트워크 전송의 get과 post
** get과 post는 클라이언트가 서버로 요청을 보내는 방법(HTTP Method)
1. GET방식
- URL에 변수(데이터)를 포함시켜 요청한다
- 데이터를 Header에 포함하여 전송
- URL에 데이터가 노출되어 보안에 취약
- 전송 길이 제한
- 캐싱 가능
-- 간단한 데이터를 URL에 넣도록 설계된 방식으로 데이터를 보내는 양에 한계가 있음 == URL길이가 정해져 있음
-- URL에 쿼리 스트링이 그대로 보내짐 == 보안성이 떨어짐
-- POST방식보다 속도가 빠르다
get방식 전송은 크기 제한도, 보안성 문제도 있지만 간단한 데이터 전송 및 노출되어도 상관없는 데이터를 빠르게 전송할 때 사용하게 된다.
캐싱(Cashin) 캐싱은 한번 접근 후, 다시 요청 시 빠르게 접근하기 위해 레지스터에 데이터를 저장시켜 놓음 |
2. POST방식
-
URL에 변수(데이터)를 노출하지 않고 요청한다
-
데이터를 Body에 포함시킨다
-
URL에 데이터가 노출되지 않아서 기본 보안 유지
-
전송 길이에 제한이 없다
-
캐싱할 수 없다
-- 일정 크기 이상의 데이터를 보내야 할 때 사용한다. == get의 255자 이상을 넘는 크기를 사용할 때
-- 서버 전송 이전에 인코딩, 전송받은 서버는 디코딩 작업을 진행 == 속도가 느리다
post방식 전송은 문자 데이터 이외에도 텍스트 박스 같은 객체들의 값도 전송이 가능하기 때문에 좀 더 많은 양의 데이터를 보낼 수 있다.
■GET과 POST의 차이점
- get은 주로 웹 브라우저가 웹 서버에 데이터를 요청할 때 사용
- Post는 웹 브라우저가 웹 서버에 데이터를 전달하기 위해 사용
- get을 사용하면 웹 브라우저에서 웹 서버로 전달된 데이터가 인코딩 되어 URL에 붙는다.
- Post방식은 전달되는 데이터가 보이지 않는다
- get방식은 전달된 데이터가 255개의 문자를 초과하면 문제가 발생할 수 있다.
'네트워크' 카테고리의 다른 글
DNS란 무엇인가? (0) | 2019.08.06 |
---|---|
WAN과 LAN (0) | 2019.07.23 |
사설IP와 공인IP 그리고 NAT (0) | 2019.07.14 |