본문 바로가기

ETC/Server

Get방식과 Post방식

Get방식


클라이언트에서 서버로 데이터를 전송할 때, 주소 뒤에 '이름', '값' 이 결합된 스트링 형태로 전달한다.

주소창에 쿼리스트링이 그대로보여져 보안성이 낮다.

길이에 제한이 있다.(전송 데이터의 한계가 있다.)

psot방식보다 상대적으로 전송속도가 빠르다.


ex) 네이버에 돼지를 검색하면 나오는 http 주소

https://search.naver.com/search.naver?sm=top_hty&fbm=0&ie=utf8&query=돼지



Post방식


일정 크기 이상의 데이터를 보내야 할 때 사용한다.

서버로 보내기 전에 인코딩하고, 전송 후 서버에서는 다시 디코딩작업을 한다.

주소창에 전송하는 데이터의 정보가 노출되지않아 Get방식에 비해 보안성이 높다.

속도가 Get보다 느리다.

쿼리스트링(문자열)데이터 뿐만 아니라 라디오버튼, 텍스트박스 같은 객체들의 값도 전송가능하다.





Get / Post 차이점


Get은 주로 웹브라우저가 웹서버에 데이터를 요청할 때 사용

(인터넷에 무언가를 검색한 후 결과 값을 서버에 요청할 때)

Post는 웹 브라우저가 웹 서버에 데이터를 전달하기 위해 사용한다.

(이미지, 사운드파일 등 첨부파일 업로드할때)

Get을 사용하면 웹브라우저에서 웹서버로 전달되는 데이터가 인코딩되어 URL에 붙는다.

Post방식은 전달되는 데이터가 보이지 않는다.

Get방식은 전달되는 데이터가 255개의 문자를 초과하면 문제가 발생한다.

(http주소가 길어지면 문제발생)




Post방식은 크기의 제한이 Get방식보다 커서 바이너리코드(이미지, 사운드 등 첨부파일)를 첨부 할 수 있다.

Post방식은 http패킷의 body필드에 바이너리코드를 첨부하여 전송한다.



Get방식으로 검색요청을 서버에 요청

Post방식으로 검색결과를 사용자에게 전송




참조

https://blackaaron.tistory.com/10




'ETC > Server' 카테고리의 다른 글

HTTP / FTP / Socket  (0) 2019.03.11
Multi play game의 server 형태와 그 특징  (0) 2019.03.07
Dedicated Server / P2P Server / Listen Server  (0) 2019.03.07
Network Transport / RPC  (0) 2019.03.05
IOCP  (0) 2019.03.01