메서드 종류
GET
- 서버로부터 정보를 조회할 때 사용(검색 기능)
- URL에 데이터를 포함시켜서 요청한다.
- URL 길이에 제한이 있다.(2,048자 이하)
- 요청 시 쿼리스트링을 통해서 전달한다.
구글 검색창에서 ‘티스토리’라고 검색했을 때 URL 뒤에 요청 데이터가 포함된다.
쿼리스트링은 Key값과 Value값이 한 쌍이며 q라는 Key값과 티스토리라는 Value값을 확인할 수 있다. 뒤에 & 구분자를 통해서 추가로 Key값,Value값이 붙을 수 있다.
POST
- 서버에 새로운 자원을 생성(저장)할 때 사용
- URL에 데이터를 노출하지 않고 body에 포함하여 전송
- 전송하는 길이에 제한이 없다
GET 방식과는 다르게 데이터를 Message Body에 담아서 전송한다. 따라서 메시지 길이의 제한이 없다.
PUT
- 서버의 자원을 요청에 들어 있는 자원으로 치환하고자 할 때 사용
요청한 자원이 존재하면 치환하고 없으면 새로 생성한다.
PUT 메서드는 치환할 데이터의 존재를 알아야하기 떄문에 클라이언트가 요청 리소스를 알고 있다.
/members/100 리소스에 username값을 test로, age값을 20으로 변경한다.
PATCH
- 서버 자원의 일부만 수정하고자 할 때 사용
PUT 메서드를 통해 username값을 test로, age값을 20으로 변경하여 저장했을 때, PATCH 메서드를 통해 age값만 50으로 수정한다.
PUT 메서드는 자원을 요청한 그 값 전체로 완전 치환하는 것이고
PATCH 메서드는 자원을 요청한 그 값만 치환하는 것이다.
* 기존 데이터가 username : test, age : 20 일 경우
[PUT 요청] age : 50 -> [결과] age : 50
[PATCH 요청] age : 50 -> [결과] username : test, age : 50
DELETE
- 서버의 자원을 삭제하는 작업을 요청할 때 사용
HEAD - GET 방식과 같으나 요청 정보의 몸체 없이 헤더 정보만 요청하는 방식
OPTIONS - 요청 URL에 대하여 허용되는 통신 옵션을 알고자 할 때 사용
TRACE - 웹 클라이언트의 요청을 그대로 반환하는 방식
메서드 속성
안전 (Safe)
안전(Safe)은 메서드를 호출해도 리소스를 변경하지 않는다는 특성이다. 다시말해 데이터의 변경이 일어나지 않는다는 뜻이다.
GET, HEAD, OPTION, TRACE는 서버에 데이터를 변경하지 않는 요청 메서드이다.
POST, PUT, PATCH, DELETE는 서버에 데이터를 변경하는 요청 메서드이다.
멱등 (Idempotent)
연산을 여러번 적용하더라도 결과가 달라지지 않는 성질을 말한다. GET은 여러 번 조회 요청을 해도 리소스는 변하지 않는다. 따라서 멱등하다.
POST는 요청을 반복하게 된다면 데이터들은 계속해서 추가가 될 것이고, 서버의 응답은 각기 다른 응답을 나타낼 것이다. 이러한 메서드는 멱등하지 않다.
캐시 가능 (Cacheable)
응답 결과 리소스를 서버에 캐시해서 사용해도 되는지에 대한 속성이다. GET, HEAD, POST, PATCH 메소드가 가능하지만 일반적으로 GET, HEAD 정도만 캐시하여 사용한다.
'자격증 > 정보보안기사' 카테고리의 다른 글
해시함수 (0) | 2024.05.29 |
---|---|
[암호학] 블록 암호 운용 방식 (0) | 2024.03.18 |
방화벽 구성 방식 (0) | 2024.03.05 |
암호 분석 종류 (0) | 2024.03.04 |
메시지 인증 코드(MAC) (2) | 2024.02.29 |