지금은 초등학생들도 스마트폰을 가지고 있을 정도로 인터넷 환경이 잘 되있습니다. 하지만 저는 몰랐습니다. 스마트폰 자체가 하나의 요청자, 즉 클라이언트로 되어 있고 클라이언트에서 서버를 통해서 앱과 인터넷을 이용한다는 사실을 말입니다.
http는 클라이언트와 서버가 정보를 주고 받을 수 있는 프로토콜 중의 하나입니다. 즉 프로토콜은 http 이외에도 정말 많습니다. 상용화된 프로토콜 중에서 가장 많이 쓰이는 것이 http라서 우리가 잘 알게 된 것입니다!
1. connectionless(비연결성)
http의 가장 큰 특징은 요청을 보내면 반드시 응답이 오는 대신에 응답을 보내는 즉시 연락을 끊어버린다는 것입니다.
따라서 정보를 주고받기 위해서는 지속적으로 get 요청을 통해서 보내주고 응답을 받는 형태가 됩니다.
request에는 특별한 이유가 없다면 응답코드를 받을 수 있고 이를 통해 요청상태를 파악할 수 있습니다. 반면에 매번 반드시 한번의 request를 보내야 해서 번거로운 점은 있습니다.(connection이 없으니까요)
2. stateless(무상태)
어찌보면 connectionless와 연결되는 내용인데 서버는 특별한 방법 없이는 클라이언트에 대한 정보를 가지고 있지 않습니다. 그저 요청해 준 데이터를 보내 줄 뿐입니다!
하지만 서버를 운영하려면 클라이언트들의 정보를 기억하고 있을 필요가 있는데 이를 보완하기 위해 사용하는 방법이 쿠키와 세션입니다!