HTTP 메소드 종류
📁 GET
- 서버로부터 데이터를 요청(GET)하는 메소드
- GET은 요청을 전송시 필요 데이터를 Body 대신, 쿼리스트링을 통해 전송함
📁 POST
- 데이터를 생성(등록)하는 요청에 주로 사용되는 메소드
📁 PUT
- 데이터 리소스를 대체, 해당 리소스 없으면 생성. 쉽게 말해 데이터를 덮어씀
📁 PATCH
- PUT 과 유사하게 리소스 수정시 사용.
- 다른점은 PATCH는 데이터 리소스 일부분만 변경 가능
📁 DELETE
- 삭제 요청을 보낼 때 사용되는 메소드
📁 기타 메소드 4가지
- HEAD: GET과 유사, 메시지 부분을 제외하고 상태 줄과 헤더만 반환
- OPTIONS: 대상 리소스에 대한 통신 가능 옵션 설명 (주로 CORS에서 사용)
- CONNECT: 대상 자원으로 식별되는 서버에 대한 터널을 설정
- TRACE: 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행
HTTP 메소드 주요 속성
HTTP 메소드의 속성에는 안전(Safe Methods), 멱등(Idempotent Methods), 캐시가능(Cacheable Methods)가 있다.
다음 단어가 무엇을 의미하는지 살펴보도록 하자.
📁 안전(Safe Methods)
- 계속해서 메소드를 호출해도 리소스를 변경하지 않는다는 뜻
- GET 메소드가 안전 O
📁 멱등(Idempotent Methods)
- 메소드를 계속 호출해도 결과가 똑같다는 뜻
- GET, PUT, DELETE는 멱등, POST나 PATCH는 멱등 X
📁 캐시가능(Cacheable Methods)
- 캐싱을 해서 데이터를 효율적으로 가져올 수 있다는 뜻
- GET, HEAD, POST, PATCH가 캐시가 가능
- 실제로는 GET과 HEAD만 주로 캐싱이 쓰임
HTTP 메소드 PRG Pattern
PRG 패턴이란 Post -> Redirect -> GET으로 이어지는 하나의 권장되는 패턴 중 하나이다.
만약 PRG 패턴을 적용하지 않으면 예로 특정 상품을 구매한다고 할 때 새로고침을 하게 되면 마지막 요청인 POST 주문입력 요청이 재수행 되어 중복 구매가 될 수 있다.
그렇기 때문에 POST가 완료되면 인위적으로 Redirect로 GET 요청을 하게되고, 새로고침을 하더라도 마지막 요청이 GET 요청이기 때문에 정상적으로 수행된다.
20. Post는 무조건 => redirect() : prg 패턴 => 두개 등록돌 수도 있음. / PRG 패턴
'기술 정리 & CS > Web 일반' 카테고리의 다른 글
[WEB 일반] MIME Type, Content-Type 이란 (0) | 2024.06.23 |
---|---|
[Web 일반] 실시간 통신 (Pooling, Long Pooling, Streaming, WebSocket) 비교 (0) | 2022.09.19 |
[Web 기본] URI, URL, URN 차이 (0) | 2022.09.05 |
[Web 기본] HTTP 상태 코드 정리 (0) | 2022.08.26 |
[Web 기본] HTTP 통신 정리 (0) | 2022.05.17 |