1969년 냉전시기 미국방부는 4개 대학을 거점으로 군사자료를 저장하고 서로 데이터를 전송할 수 있는 통신망인 알파넷 프로토콜을 만들었다.
이후 알파넷 프로토콜은 많은 대학들의 요청에 따라 사용범위가 넓어지게 되었고, 보안을 우려한 미국방부는 민간용 통신망인 HTTP를 만들게 되었다.
HTTP에는 데이터를 전송하는 방법과 받는 방법에 대하여 다음과 같이 규정되어있다.

HTTP 메소드의 종류는 총 9가지가 있는데, 이 중 주로 쓰이는 메소드는 5가지가 있다.
GET : 리소스 조회
POST : 요청 데이터 처리, 주로 데이터 등록에 사용
PUT : 리소스를 대체, 해당 리소스가 없으면 생성
PATCH : 리소스를 일부만 변경
DELETE : 리소스 삭제
보통 리소스를 조회할 때 사용하며, 서버에 전달하고 싶은 데이터는 query를 통해서 전달한다. 메시지 바디를 사용해서 데이터를 전달할 수는 있지만, 지원하지 않는 곳이 많아서 권장하지 않는다.
데이터 요청을 처리하고, 메시지 바디를 통해 서버로 데이터를 전달한다. 주로 신규 리소스를 등록하거나 프로세스 처리에 사용된다.
PUT은 리소스가 있으면 대체하고 리소스가 없으면 생성한다. 쉽게 말해 데이터를 덮어쓴다.
PUT과 마찬가지로 리소스를 수정할 때 사용하지만, PATCH는 리소스를 일부분만 변경할 수 있다.
리소스를 제거할때 사용한다.