W3 상에서 정보를 주고받을 수 있는 프로토콜.
HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다.
HTTP는 연결 상태를 유지하지 않는 비연결성(=무상태,Stateless) 프로토콜이다. 서버가 클라이언트에게 받은 요청을 응답결과로 만들어서 응답을 하고 나면 바로 클라이언트와의 연결을 끊어버림. 요청이 끝난 후에 서버는 클라이언트의 이전상황을 알 수 없음. 이러한 특징을 무상태(Stateless)라함.(이러한 단점을 해결하기 위해 Cookie와 Session이 등장하였다.)
HTTP는 연결을 유지하지 않는 프로토콜이기 때문에 요청/응답 방식으로 동작한다.
HTTP 프로토콜은 일반적으로 TCP/IP 통신 위에서 동작하며 기본 포트는 80번입니다.(HTTP/3 부터는 UDP 사용)
장단점
HTTP는 서버/클라이언트 모델을 따름.
클라이언트(Client)란 요청을 보내는 쪽을 의미하며 일반적으로 웹 관점에서는 브라우저를 의미합니다. 서버(Server)란 요청을 받는 쪽을 의미하며 일반적으로 데이터를 보내주는 원격지의 컴퓨터를 의미합니다.
HTTP 프로토콜로 데이터를 주고받기 위해서는 아래와 같이 요청(Request)을 보내고 응답(Response)을 받아야 합니다.
앞에서 살펴본 URL을 이용하면 서버에 특정 데이터를 요청할 수 있습니다. 여기서 요청하는 데이터에 특정 동작을 수행하고 싶으면 어떻게 해야 할까요? 바로 HTTP 요청 메서드(Http Request Methods)를 이용합니다.
일반적으로 HTTP 요청 메서드는 HTTP Verbs라고도 불리우며 아래와 같이 주요 메서드를 갖고 있습니다.