네트워크

[네트워크] HTTP/Cookie/Threeway Handshake

Michelle Kim 2023. 4. 30. 01:42

Webpage 는 기본적으로 HTML file 과 여러 참조 객체로 이루어져있다

 

HTTP 란?

-Hypertext transfer protocol

[특징]

1) 비지속 연결 (Non-persistent) : 요청/응답이 끝난 뒤에 TCP 연결 중단

Client : 클라이언트가 HTTP 기본포트 80번에서 TCP 연결을 서버에 시도한다.

Server: 서버가 TCP 요청을 받아들이고 클라이언트에게 이를 알린다

Client: 클라이언트가 HTTP 요청 메세지를 보낸다. (url 포함시키고, 객체를 원한다는 작성)

Server: HTTP 서버가 응답 메세지를 객체를 담아 소켓에 보낸다

Server: HTTP 서버가 TCP 연결을 끊는다

Client: 응답메세지를 받고 객체를 받아서 브라우저에 보여준다.

 

2) Stateless : HTTP 요청은 독립적

HTTP 1.1 과의 차이점

HTTP 1.1 은 지속연결 (Persistent) : 서버가 응답을 보낸 후에 TCP 연결을 그대로 유지

-같은 client/server 에 대하여 연속적인 객체에 대한 요구가 가능하다.

-As little as 1 RTT for all the referenced objects

 

Cookies 사용이유?

To maintain user/server state, because HTTP GET response interaction is stateless.

 

RTT (Round Trip Time) ?

-패킷이 클라이언트로부터 서버까지 가고, 다시 클라이언트로 되돌아오는 데 걸리는 시간

-세 방향 핸드셰이크 ( 클라이언트가 TCP 메세지 보내기 + 서버가 작은 메세지로 응답 + 클라이언트가 다시 응답) 중에서 처음 두부분이 경과하면 RTT 가 계산이 된다.