: 서버에 연결하고, 요청해서 응답을 받으면 연결을 끊는다. (connectionless)
Connectionless → 동일한 클라이언트의 요청에 대해 매번 연결 시도/해제 작업을 해야하므로 오버헤드가 증가한다.
→ Keep-Alive 로 해결
Stateless → 연결을 끊기 때문에 클라이언트의 이전 상태를 알 수 없다.
HTTP와 Socket은 tcp로 이루어져있다. 따라서 둘 다 3-way-handshaking, 4-way-handshaking 작업을 거친다.
둘의 연결성을 보는 것은 어떤 계층을 기준으로 보느냐에 따라 다르다.
4계층 관점 → TCP를 사용하므로 연결지향적 통신
7계층 관점 → HTTP는 비연결 통신(클라이언트와 서버의 연결을 유지하지 않기 때문)
→ Socket은 연결 통신(클라이언트와 서버는 데이터를 주고받아도 계속 연결을 유지하기 때문)
: 클라이언트 소프트웨어(IE, Chrome)은 URI를 사용해서 자원의 위치를 찾는다.
- HTTP : 전송 프로토콜
<https://www.abc.com/index.php>
1. https -> 자원에 접근하기 위해서 https 전송 프로토콜을 사용한다.
2. www.abc.com -> 인터넷 상에서 자원의 위치를 가리킨다. dns서버에서 도메인 네임을 ip주소로 변환한다.
3. index.php -> 요청할 자원의 이름이다.