백엔드 공부를 할때도 get, post로 정말 골머리를 앓았던 기억이 있다. 이걸 공부할때 request, response 와 같이 너무 헷갈려서 계속 물어보고 코드를 봤었다. 이전에도 포스팅했지만 GET, POST만 자세하게 정리해보고싶어서 또 써봤다.
get과 post는 웹 개발을 할 때 주로 사용하는 HTTP 메서드로 클라이언트에서 서버로 요청할 때 사용한다.
예를 들어 설명하면, 회원가입은 post로 입력받은 정보들을 서버에 보내고 가입한 회원이 마이페이지에서 자신의 정보를 확인할 때 get방식으로 입력했던 정보를 보여주는 식이다.
✍ get
: 요청 시 URL주소에 값(파라미터)을 담아서 전달하는 방식으로 클라이언트에서 서버로 정보를 요청할 때 사용한다.
특징
- 브라우저 히스토리에 남는다.
- 비밀번호 같이 중요한 정보도 노출되기때문에 중요한 정보를 다루면 안된다.
✍ post
: 요청 시 HTTP body에 값을 담아서 전달하는 방식이다.
특징
- url에 값이 보이지 않기때문에 보안이 필요한 정보들을 보낼때 사용한다.
Get 방식 | Post 방식 | |
정의 | 요청 시 주소에 값(파라미터)을 담아서 전달하는 방식 | 요청 시 HTTP Body에 값을 담아서 전달하는 방식 |
장점 | 캐싱(북마크, 주소복사) 가능하다. | 값이 주소에 노출되지 않아 보안성이 높다. + 데이터 크기 제한 없음. |
단점 | 비밀번호도 주소에 노출되는 문제 발생 + 주소창 길이 제한(데이터 길이 제한 발생) |
캐싱 불가능. 문자 인코딩 처리가 필요하다 |
get과 post의 차이점
- DB의 CRUD로 비교하면 get은 SELECT, post는 CREATE라고 할 수 있다.
- get은 서버에서 데이터를 요청할 때, post는 서버에 데이터를 새로 생성하거나, 수정할 때 사용한다.
예를 들어 설명하자면, 이렇게 블로그에서 글을 쓰는것은 post이고 작성한 글을 조회하는 것은 get방식이다. 이 개념이 처음에는 이해도 잘 안갔지만 계속 반복하다보면 이해가 된다. 정리까지 포함해서 3번째 공부를 하니깐 이제 기억에 더 잘 남을 것 같다.
반응형
'TIL' 카테고리의 다른 글
6일차 :: section? article? div? (0) | 2022.04.04 |
---|---|
5일차 :: CSS (0) | 2022.04.01 |
3일차 :: 나도 오픈소스 기여를 할 수 있다?! (0) | 2022.03.30 |
2일차 :: 선택과 집중?! (0) | 2022.03.29 |
TIL 1 :: <!DOCTYPE html>, float에 clear? overflow? (0) | 2022.03.28 |