1. TCP
① 송신부와 수신부의 연결을 확인하는 연결형 서비스
② 패킷이 전달되는 회신이 정해져 있는 가상 회선 패킷 교환 방식 사용
③ 데이터 손실이 없음을 보장하므로 신뢰성이 높음
④ 연결할 때는 3-way 핸드셰이킹, 해제할 때는 4-way 핸드셰이킹을 함
⑤ 신뢰성 보장 방법
- 흐름 제어: 수신부와 송신부 간 데이터 처리 속도 제어
- 혼잡 제어: 송신부의 데이터 전달 속도와 네트워크 속도 차이 해결
- 오류 제어: 데이터의 오류 검출 및 재전송
2. UDP
① 송신부와 수신부의 연결이 보장되지 않는 비연결형 서비스
② 패킷이 서로 다른 회선으로 교환될 수 있는 데이터그램 패킷 교환 방식 사용
③ 데이터의 신뢰성이 낮음
④ 체크섬 필드를 이용해 최소한의 오류 검출 가능
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: Create 연산, 데이터를 생성할 때 사용
② GET: Read 연산, 서버에서 데이터를 조회할 때 사용
③ PUT: Update 연산, 데이터를 갱신할 때 사용
④ DELETE: Delete 연산, 데이터를 제거할 때 사
'공부 기록 > CS' 카테고리의 다른 글
| 3.2 관계형 데이터베이스 (0) | 2024.07.29 |
|---|---|
| 3.1 데이터베이스의 종류 (0) | 2024.07.26 |
| 2.4 REST (0) | 2024.07.24 |
| 2.3 HTTPS (1) | 2024.07.23 |
| 2.3 HTTP (0) | 2024.07.22 |