728x90
컴퓨터네트워크에서 http통신을 다룰때 등장하는 get과 post.
둘은 클라이언트와 서버 사이에 정보를 요청하고, 데이터를 주고 받는 메서드의 방식이다.
이 둘의 차이를 정리하자.
Get 방식
- 클라이언트가 서버에게 어떤 리소스로부터 정보를 요청하기 위해 사용되는 메서드
- URL 가장 끝에 파라미터로 표기되어 전송된다. 이를 쿼리스트링(Query string)이라고 한다.
- URL주소 끝에 ? name=value & name=value & name= value... 형식으로 쓰여진다.
URL 예시) https://soonyexampleimnidaaaa.com/show?name1=value1&name2=value2
위 예시 주소의 서버에서 name1 파라미터 명으로 value1 파라미터값을 전달받고, name2 파라미터 명으로 value2 파라미터값을 전달 받을 수 있다.
- 헤더에 데이터가 위치한다
- 캐시 ㅇ
- Get요청은 보안에 취약하다. (?뒤에 파라미터와 파라미터값을 노출하고 있기 때문이다.)
- Get은 데이터를 요청할 때만 사용한다.
- 전송할때 길이 제한이 있는 경우도 있다.
Post 방식
- 클라이언트에서 서버로 리소스를 생성 or 업데이트하기 위해 데이터를 보낼때 사용되는 메서드
- 전송할 데이터를 HTTP 메시지 body 부분에 담아 서버로 보낸다.
- 데이터 전송 시 길이 제한이 없다. - 용량이 큰 데이터 전송 용이
- 보안이 요구될 때 사용된다.(Get방식처럼 외부적으로 파라미터명과 파라미터값으로 정보가 표시되지 않기 때문에)
- 보통 HTML form 을 통해 서버로 전송된다.
- post 요청은 캐시 x, 브라우저 히스토리에 안남는다.
URL 예시) https://dsdfdv.to
GET 방식 | POST 방식 | |
캐싱 가능여부 | o | x |
URL에 데이터 노출 | o | x |
데이터 위치 | header(헤더) | body(바디) |
사용되는 상황 | 데이터 조회 | 데이터 추가, 수정, 삭제 (보안요구) |
틀린 부분이나 이상한 부분이 있으면 댓글로 지적해주세요!
감사합니다 :)
728x90
'⚙️ERROR & CS > CS' 카테고리의 다른 글
[CS/API] RESTful API 란? +URI, HATEOAS (0) | 2024.12.14 |
---|---|
[CS/ API] API 란? (0) | 2024.12.14 |
[WEB] 정적 웹 페이지와 동적 웹 페이지 (0) | 2024.01.22 |