클라이언트와 서버의 request, response 과정 속 HTTP/1.1에서 사용할 수 있는 메서드에 대해 알아보자. 어떤 종류가 있고, 각 종류는 어떤 특징을 갖고 있을까?
✉️ HTTP 메시지 구조
- Header + Body로 나뉘어 진다.
- Header에는 주소 정보, 메서드 방식, 클라이언트 정보, 브라우저 정보, 접속 URL 등의 정보를 담는다.
- Body에는 보통 비어 있다가 필요시 데이터 정보가 포함된다.
📨 메서드를 사용해 지시를 내리다
- request를 보내는 경우 메서드라고 불리는 명령이 있다.
- 메서드는 리소스에 어떠한 행동을 하기 원하는지를 지시하기 위해 존재한다.
- 메서드에는 GET, POST, PUT, DELETE 등이 있다.
- 메서드는 대문자와 소문자를 구별하기 때문에 대문자로 기재해야 한다.
<aside>
💡 지금부터 HTTP/1.0과 HTTP/1.1에서 제공하고 있는 메서드를 알아보자!
</aside>
GET (조회)
- 리소스 획득.
- GET 메서드는 리퀘스트 URI로 식별된 리소스를 가져올 수 있도록 요구한다.
- 파라미터가 URI에 포함되기 때문에 HTTP 헤더에 포함되어 서버에 요청된다.
- 서버는 리소스를 해석해 결과를 내보낸다.
- 멱등성(결과가 달라지지 않는 성질)을 가진다.
- 자원의 상태를 변화시키지 않아 안정적이다.
- HTTP 메서드는 서버의 상태를 바꾸지 않으면 그 메서드가 안전하다고 말한다.
- 캐싱이 되는 특징을 갖고 있어 POST보다 속도가 빠르다.