[etc] GET , POST
GET , POST 를 시작하기 전에 HTTP 먼저 알아보겠습니다.
웹,앱개발시 프론트와 백앤드 또는 우리 서버 넘의 서버등에 데이터를 요청하고 응답을 받야아 합니다.
그때 데이터를 어떻게 주고 받을지 정해 놓지 않으면 중구난방이 될 것입니다.
이때 사용되는 규칙이 HTTP 입니다.
HTTP
HTTP( Hyper Text Transfer Protocol ) 는
클라이언트와 서버 간의 요청/응답으로 데이터를 주고 받을 수 있는 프로토콜(규칙) 입니다.
Http는 구성요소
- Header - 요청 방식(method), 사용자정보, 브라우저정보가 담겨지는 부분
- Body - 서버에 데이터를 전송할 때 데이터가 담겨지는 부분
Http method
그럼 Http에서 어떤 방식으로 서버에 요청을 보낼까?
그 방식이 바로 Http method 입니다.
HTTP Method에는 GET , POST , PUT등 총 7가지가 존재하는데
GET , POST만 정리해보겠습니다.
GET
- URL 끝에 쿼리 문자열을 지정해서 요청하는 방식 ex) /user/login?user_id=admin&user_pwd=admin
- 데이터를 헤더에 포함시켜 전송
- 캐싱가능
- 데이터 길이의 제한이 있다.
- URL에 데이터가 노출된다.
POST
- 헤더와 바디에 정보를 담아서 요청하는 방식
- 데이터를 바디에 포함시킨다.
- 전송하는 길이의 제한이 없다.
- 캐싱불가능
- URL에 데이터가 노출되지 않는다. (GET보다는 보안이 좋지만 개발자도구나 여러 툴등 조금만 노력하면 다 보인다.)
캐싱 - 한번 접근 후, 또 요청할 시 빠르게 접근하기 위해 레지스터에 데이터를 저장시켜 놓는것
정리
인터넷 검색 해보니 보통 GET은 데이터를 요청할때 주로 사용하고
POST는 내용을 전송할때 주로 사용한다고 합니다.
그런데 우리 회사 선배님들이 하는것 보면 그렇게 안하시는것 같아
이 부분은 좀더 확인해봐야 할 문제 같습니다.