
OSI 7 계층
TCP/IP 4계층
OSI 7계층은 네트워크 통신 과정을 이론적으로 정의한 모델
TCP/IP는 실제 네트워크 통신에서 사용되는 표준 모델
TCP (Transmission Control Protocol)
인터넷 상에서 데이터를 메세지 형태로 보내기 위해 IP와 함께 사용하는 프로토콜 → 클라이언트와 서버가 연결된 상태에서 데이터를 주고 받는 연결 지향적 프로토콜
TCP는 연결형 서비스로 3 way handshake 과정을 통해 연결하고, 4 way handshake 과정을 통해 연결을 해제하기 때문에 높은 신뢰성을 보장한다.
UDP (User Datagram Protocol)
UDP는 비연결형 서비스로 3 way, 4way handshake와 같은 과정을 거치지 않기 때문에 신뢰성을 떨어지지만, 효율성을 중요시하는 프로토콜
일방적으로 데이터를 보내고 수신 여부를 확인하지 않고, 송신 확인 정도의 절차만 거쳐 속도가 빠르다.
TCP는 신뢰성이 중요한 경우 쓰이고, UDP는 실시간성이 중요한 스트리밍에 자주 사용
3 way handshake는 연결 시에 서로 연결이 잘 되었는지 확인하는 방법
4 way handshake는 연결을 해제하는 방법
3 way handshake 과정
Data 전송 시
4 way handshake 과정
HTTP는 무상태성
HTTP가 무상태성이라는 특징을 가지고 있어서, 통신이 끝나면 상태를 유지하지 않는다. 이를 보완하고자 사용하는 것이 쿠키와 세션
쿠키
클라이언트는 쿠키를 브라우저에 저장해 뒀다가 HTTP 요청 시 서버로 전달하여 데이터를 요청하는 데에 사용할 수 있다.
그러나 쿠키는 클라이언트에서 쉽게 조회, 변경할 수 있고, 그 값을 조작할 수 있다는 단점이 있다.
이 문제를 해결하기 위해 세션을 사용한다.
세션
세션은 쿠키에 기반하여 만들어졌고, 쿠기와 값이 키-값 으로 만들어졌지만 값을 임의의 uuid로 저장하고 이 uuid에 해당하는 데이터는 서버 측에서 관리
HTTP는 데이터를 암호화하지 않고 전송하는 프로토콜이고, HTTPS 는 SSL/TLS를 통해 데이터를 암호화해 안전하게 전송하는 프로토콜이다.