Hypertext Transfer protocol의 약자로, 웹에서 클라이언트와 서버 간에 데이터를 주고받는 통신 규약이다.
이는 인터넷의 기본적인 통신 방법이며 주로 웹페이지, 이미지, 동영상 같은 리소스를 주고 받을 때 사용된다!
HTTP는 상태를 유지하지 않는다. 즉, 한 번의 요청과 응답이 완료되면 서버는 그 이전의 요청에 대한 정보를 기억하지 않는다. 이를 해결하기 위해 쿠키나 세션 같은 기술이 추가적으로 사용된다.
HTTP는 클라이언트가 요청을 보내면 서버가 그에 대한 응답을 하는 구조로 작동한다. 클라이언트는 요청에 원하는 리소스(URL)와 요청 메서드(예 : GET , POST)를 포함해 서버에 보낸다.
HTTP는 다양한 메서드를 사용해 클라이언트가 서버에 원하는 동작을 요청한다.
리소스와 데이터는 같은 건가?
이는 비슷하게 느껴질 수 있지만, 엄밀히 따지면 다르다!
- 리소스 : 서버에서 제공하는 특정한 자원
ex) 웹페이지, 이미지, API 엔드포인트- 데이터 : 서버와 클라이언트 간에 주고받는 정보
ex) 서버가 반환하는json형식의 사용자 정보
서버가 클라이언트 요청에 대해 어떤 결과인지 나타내는 3자리 숫자로 응답한다.
요청과 응답에 대한 부가적인 정보(예 : 클라이언트 정보, 데이터 형식)를 전달한다.