GET 요청이란?
GET은 클라이언트에서 서버로 정보를 요청하기 위해 사용되는 HTTP 메소드입니다.
옷을 파는 사이트에 가서 자신이 고르고 싶은 옷 종류와 사이즈, 색을 고르고 싶을 때 그거에 맞는 버튼을 누르게 되는데 사실 그것이 url에 변화를 주어 데이터를 받아오라고 명령하는 것입니다.
예시
옷 가게 사이트의 url이 www.mooosinnnsa.com이라면 자신이 사고 싶은 옷이 반팔이고, 사이즈는 L, 색상은 검은색을 원한다면
www.mooosinnnsa.com/clothes?type=tShirts&size=L&color=black
뭐 이런 식으로 query string 이 추가가 됩니다.
& 로 Query parameter 들을 query String으로 합쳐줍니다.
이렇게 하면 자신이 원하는 옷들이 쫙~ 나오게 되는 겁니다.
GET 요청 특징
- 캐시가 가능
- GET을 통해 서버에 리소스를 요청할 때 웹 캐시가 요청을 가로채 서버로부터 리소스를 다시 다운로드하는 대신 리소스의 복사본을 반환합니다. HTTP 헤더에서 cache-control 헤더를 통해 캐시 옵션을 지정할 수 있습니다.
- 브라우저 히스토리에 남습니다.
- 북마크 될 수 있습니다.
- 길이 제한이 있습니다.
- 중요한 정보를 다루면 안 됩니다.
- 파라미터에 다 노출되어 버리기 때문에 보안에 취약합니다.
- 데이터를 요청할 때만 사용됩니다.
POST 요청이란?
POST 요청은 클라이언트에서 서버로 데이터베이스에 정보를 저장하거나 업데이트하기 위해 사용되는 메소드입니다.
글 작성이나 글 수정, 장바구니 기능 등에 사용될 수 있겠습니다.
POST요청은 전송할 데이터를 HTTP 메시지 body부분에 담아서 서버로 보냅니다.
POST를 통한 데이터 전송은 보통 HTML form tag를 통해 서버로 전송됩니다.
POST 요청 특징
- 캐시 되지 않습니다.
- 브라우저 히스토리에 남지 않습니다.
- 북마크 되지 않습니다.
- 길이에 제한이 없습니다.
GET 요청과 POST 요청의 차이
사용 목적
GET은 서버의 리소스에서 데이터를 요청할 때, POST는 서버의 리소스를 새로 생성하거나 업데이트할 때 사용합니다.
DataBase로 따지면 GET은 SELECT에 가깝고, POST는 CREATE, UPDATE에 가깝다고 보면 됩니다.
HTTP 요청 Body 유무
GET 은 URL 파라미터에 요청하는 데이터를 담아 보내기 때문에 HTTP 메시지에 body가 없습니다. POST는 body에 데이터를 담아 보내기 때문에 당연히 HTTP 메시지에 body가 존재합니다.
멱등성 (冪等)
연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미합니다.
GET 요청은 멱등이며, POST는 멱등이 아닙니다.
소감
새로운 것을 배운다는 것은 짜릿하기도 하지만 어렵기도 합니다. 이러한 것을 견뎌내야 계단식 성장을 할 수 있고, 더 나은 미래를 만들 수 있다고 생각합니다. 다행히 개발자의 길에는 직접 적용해 볼 수 있는 시간이 많아서 좋습니다. 다른 쪽의 공부도 해봤지만 이론만 주구장창하는 지루한 공부보다는 개발 쪽이 훨씬 흥미롭습니다.
출처
https://noahlogs.tistory.com/35
'코딩 개발' 카테고리의 다른 글
[Eclipse] The specified JRE installation does not exist 에러 (1) | 2023.09.17 |
---|---|
Ajax - 회원가입 (아이디 중복 체크) (0) | 2023.06.10 |
CSS 기본 문법 (0) | 2023.05.15 |
HTML 기본 문법 - (head, body, h, a, img, ol, ul, table tags) (0) | 2023.05.15 |
Apache Tomcat & Eclipse 설정하기 (Window, macOS 공용) (1) | 2023.05.13 |