HTTP 프로토콜은 TCP와 UDP프로토콜을 기반으로 하여 웹에서 사용하는 프로토콜로 클라이언트와 서버 사이에 이루어지는 요청과 응답 데이터를 전송하는 방식을 의미합니다. HTTP 메서드는 그 중에서도 서버에 요청을 보내는 방법입니다.
HTTP메소드 중 대표적으로 GET과 POST가 있습니다.
GET요청은 서버에 존재하는 데이터를 요청하는 것입니다. 즉 클라이언트가 서버에 리소스를 요청할때 사용하는 것으로
캐싱 및 북마크가 가능하며 브라우저에 기록이 남습니다. URL에 쿼리스트링 형식으로 데이터를 전송하기 때문에 보안에 취약합니다. 멱등의 특성을 지니고 있는데 여기서 멱등이란 같은 요청이면 반환되는 모든 응답이 모두 동일함을 의미합니다.
(CRUD에서 READ)
POST는 클라이언트에서 서버로 리소스를 생성하거나 업데이트하기 위해 데이터를 보낼때 사용하는 메서드로,
전송할 데이터를 HTTP메시지 body부분에 담아서 서버로 보냅니다. (CRUD에서 CREATE) => insert랑 비슷
캐싱이 불가능하며 브라우저에 기록이 남지 않는다는 특성을 지니고 있고 데이터 길이에 제한이 없습니다.
요청할때마다 서버의 리소스를 생성하거나 업데이트하므로 멱등성이 보장되지 않습니다.
그 외 메소드로
PUT, PATCH, DELETE, HEAD, OPTION, CONNECT , TRACE등이 있습니다.
해당 메소드의 용도는 다음과 같습니다.
PUT요청은 서버의 리소스를 수정할때 사용하는데 전체적으로 수정합니다.멱등합니다. (CRUD에서 UPDATE) => update의 개념과 비슷
PATCH요청도 마찬가지로 서버의 리소스를 수정할때 사용하지만 PUT요청과 다르게 일부만 수정하는 특징을 지닙니다.
멱등하지 않습니다.
(CRUD에서 UPDATE)
DELETE요청은 클라이언트가 서버의 리소스를 삭제할때 사용합니다. (CRUD에서 DELETE)
HEAD 요청은 클라이언트가 서버의 정상 작동 여부를 확인할 때 사용합니다.
OPTION 요청은 요청한 URL에 어떤 메소드 요청이 가능한지 물을때 사용합니다.
CONNECT요청은 클라이언트가 프록시를 통하여 서버와 SSL 통신을 하고자 할 때 사용합니다.
TRACE는 서버간 통신 관리 및 디버깅을 할 때 사용합니다.
PUT과 PATCH의 멱등성 차이에 대한 글)
https://oen-blog.tistory.com/211
그 외 참고하면 좋은 글)
https://javaplant.tistory.com/18
'CS > Computer Network' 카테고리의 다른 글
RESTful이란? (0) | 2021.07.18 |
---|---|
쿠키와 세션의 차이 (0) | 2021.07.11 |
HTTP와 HTTPS 그리고 SSL HandShake (0) | 2021.06.28 |
TCP 3 WAY, 4WAY HANDSHAKE (0) | 2021.06.27 |
OSI 7계층과 TCP/IP 4계층 (0) | 2021.06.22 |