HTTP 프로토콜
HTTP (Hypertext Transfer Protocol)는 인터넷상에서 데이터를 주고 받기 위한 서버/클라이언트 모델을 따르는 프로토콜이다. 애플리케이션 레벨의 프로토콜로 TCP/IP위에서 작동한다.
HTTP로 보낼 수 있는 데이터는 HTML 문서, 이미지 , 동영상,오디오, 텍스트 문서 등 여러 종류가 있다. 하이퍼 텍스트 기반으로 데이터를 전송하겠다는 의미로 링크기반으로 데이터에 접속하겠다는 의미다.
**서버/클라이언트 모델
클라이언트에서 요청 (request)를 보내면 서버는 요청을 처리해서 응답(response)한다
Connectionless & Stateless
HTTP는 Connectionless방식으로 작동한다. 서버에 연결하고, 요청해서 응답을 받으면 연결을 끊어버린다.
기본적으로 자원 하나에 대해서 하나의 연결을 만든다.
장점은 불특정 다수를 대상으로 하는 웹서비스에 적합한 방식이다. 접속유지는 최소화하고 더 많은 유저의 요청을 처리 할 수 있기 때문이다.
단점은 연결을 끊어버리기 때문에 클라이언트의 이전 상태를 알 수가 없다. 이러한 특징을 Stateless라고 한다
HTTP는 cookie를 이용해서 이 문제를 해결하고 있다.
URI ( Uniform Resource Identifiers )
클라이언트 소프트웨어(IE,Chrome,Firefox)는 URI를 이용하여 자원의 위치를 찾는다.
https://vv6uos.tistory.com/manage 를 분석해보자
https : 자원에 접근하기 위해서 https 프로토콜을 사용한다.
vv6uos.tistory.com : 자원의 인터넷 상에서의 위치는 vv6uos.tistory.com이다 (도메인=>ip주소 변환)
manage : 요청할 자원의 이름이다