CS/http

[http] HTTP Request Method - http 메서드와 상태코드

나는 정은 2022. 9. 27. 21:58

멋쟁이 사자처럼 AI스쿨 10일차
:
http 요청 메서드와 상태코드

HTTP 메소드란?

클라이언트가 웹 서버에게 사용자 요청의 목적이나 종류를 알리는 수단.
최초의 HTTP에서는 GET 메소드 하나밖에 없었지만 이후 다양한 메소드들이 생겨났다.

 

HTTP 메소드 속성

안전(Safe Methods)
계속해서 메소드를 호출해도 리소스를 변경하지 않는다.
주요 메소드중에는 GET 메소드가 안전하다고 볼 수 있다.

멱등(Idempotent Methods)
메소드를 계속 호출해도 결과가 똑같다.
Get, PUT, DELETE는 멱등하다고 볼 수 있지만 POST나 PATCH는 멱등하다고 볼 수 없다.

 

캐시가능(Cacheable Methods)
캐싱을 통해 데이터를 효율적으로 가져올 수 있다는 뜻이다.

GET, HEAD, POST, PATCH가 캐시가 가능하지만 실제로는 GET과 HEAD만 주로 캐싱이 쓰인다

 

 

HTTP 메소드 종류 (GET, POST, PUT, PATCH, DELETE )

GET

필요한 데이터를 Query String 에 담아 전송, 리소스 조회

url 형식으로 서버에 요청하고 , 해당하는 파라미터를 넘겨 해당하는 본문 형식을 받는다.

메세지 바디를 통해 데이터를 전달할 수 있지만, 지원하지 않는 곳도 존재하기 때문에 권장하지 않는다.

 

 

POST

전송할 데이터를 HTTP 메시지의 Body의 Form Data에 담아 전송, 데이터 등록.
클라이언트에서 서버로 전달하고자 하는 정보를 서버로 보낸다.
캐싱하기가 어려워 POST는 주로 다른 메소드로 처리하기 힘든 경우에 사용된다.

PUT

POST와 유사한 전송 구조를 가지지만 보통 내용을 갱신하는 위주로 사용된다.
목적 리소스를 현재 메세지 값으로 생성하거나 기존 리소스에 덮어쓰기한다.
리소스의 위치를 알아야하고, URL을 지정해줘야한다는 점이 POST와 다르다

 

DELETE

: 웹 리소스를 제거한다.

 

PATCH

리소스를 부분적으로 변경한다.
PATCH를 지원하지 않는 경우 POST로 대체하여 사용할 수 있다.
그 외 OPTIONS, TRACE, CONNECT, HEAD 등이 사용된다.

 

HTTP 상태코드

http 상태 코드는 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능
100 ~ 500번대의 넘버를 사용한다.

 

1xx (정보) : 요청을 받았으며 프로세스를 계속한다.

2xx (성공) : 요청을 성공적으로 받았으며 인식했고 수용하였다.

3xx (리다이렉션) : 요청 완료를 위해 추가 작업 조치가 필요하다.

4xx (클라이언트 오류) : 요청의 문법이 잘못되었거나 요청을 처리할 수 없다.

5xx (서버 오류) : 서버가 명백히 유효한 요청에 대해 충족을 실패했다.

→ 데이터 수집시에는 200 OK 가 나오는지 확인 하는 것이 중요

 

 

 

Reference