1. TCP
- 송신부와 수신부의 연결을 확인하는 연결형 서비스
- 패킷이 전달되는 회선이 정해져 있는 가상 회선 패킷 교환 방식 사용
- 데이터 손실이 없음을 보장하므로 신뢰성이 높음
- 연결할 때는 3-way 핸드셰이킹, 해제할 때는 4-way 핸드셰이킹을 함
- 신뢰성 보장 방법
- 흐름 제어: 수신부와 송신부 간 데이터 처리 속도 제어
- 혼잡 제어: 송신부의 데이터 전달 속도와 네트워크 속도 차이 해결
- 오류 제어: 데이터의 오류 검출 및 재전송
2. UDP
- 송신부와 수신부의 연결이 보장되지 않는 비연결형 서비스
- 패킷이 서로 다른 회선으로 교환될 수 있는 데이터그램 패킷 교환 방식
- 데이터의 신뢰성이 낮음
- 체크섬(checksum)필드를 이용해 최소한의 오류 검출 가능
3. HTTP
- 인터넷에서 데이터를 전송하기 위한 클라이언트-서버 구조의 통신 프로토콜
- 비연결성: 서버에서 응답을 받으면 연결을 끊음
- 무상태: 서버가 클라이언트를 식별하지 못함
- 쿠키와 세션을 통해 비연결성과 무상태의 단점 보완
- 쿠키: 클라이언트 로컬에 저장되는 키와 값이 들어 있는 작은 데이터 파일
- 세션: 서버에 저장되는 연결 관련 정보
4. HTTPS
- SSL/TLS를 이용해 HTTP의 보안을 강화한 웹 통신 프로토콜
- SSL은 전송 계층과 응용 계층 사이에 있는 보안을 위한 통신 계층
5. TCP Keep Alive 와 HTTP Keep Alive
- TCP Keep Alive: 연결된 세션을 계속 유지하기 위한 방식, 일정 시간 동안 패킷 교환이 없으면 연결 유지 여부를 확인하는 패킷을 던짐
- HTTP Keep Alive : 일정 시간 동안 연결을 유지하는 방식, 정해진 시간이 끝나면 연결 해제
6. REST
- URI 로 자원을 명시하고 HTTP 메서드로 CRUD 연산을 하는 소프트웨어 아키텍처
- HTTP 프로토콜을 사용하므로 별도 인프라를 구축할 필요가 없음
- HTTP 프로토콜을 따르는 모든 플랫폼에서 사용할 수 있음
- 사용 가능한 메서드가 한정적이라는 단점이 있음
- 구성 요소
- 자원 : URI를 이용해 클라이언트에서 서버로 자원 조작을 요청할 수 있음
- 행위 : HTTP 메서드로 자원에 대한 연산을 수행하게 함
- 표현 : JSON, XML로 데이터를 주고 받음
7. HTTP 메서드
- POST : C
- GET : R
- PUT : U
- DELETE : D
'CS' 카테고리의 다른 글
3.1 데이터베이스의 종류 (0) | 2023.12.04 |
---|---|
2. 예상 질문 (0) | 2023.12.04 |
2.4 REST (0) | 2023.12.04 |
2.3 HTTP / HTTPS (0) | 2023.12.01 |
2.2 TCP와 UDP (1) | 2023.11.29 |