1. TCP
- 송신부와 수신부의 연결을 확인하는 연결형 서비스
- 가상 회선 패킷 교환 방식 사용.(패킷이 전달되는 회선이 정해져 있음)
- 데이터 손실이 없음을 보장. 신뢰성 높음
- 연결 시 3way핸드셰이킹, 해제 시 4way핸드셰이킹 함.
- 신뢰성 보장 방법
- 흐름 제어 : 송-수신부 간 데이터 처리 속도 제어
- 혼잡 제어 : 송신부 데이터 전달 속도와 네트워크 속도 차이 해결
- 오류 제어 : 데이터의 오류 검출 및 재전송
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연산을 하는 SW아키텍처
- HTTP 프로토콜을 사용하므로 별도 인프라 구축할 필요 없음, HTTP 따르는 모든 플랫폼에서 사용가능
- 사용 가능한 메서드가 한정적임.
- 구성 요소
- 자원 : URI를 이용해 클라이언트에서 서버로 자원 조작 요청 가능
- 행위 : HTTP메서드로 자원에 대한 연산을 수행하게 함
- 표현 : json, xml로 데이터 주고받음
7. HTTP 메서드
- POST : CREATE, 데이터 생성
- GET : READ, 데이터 조회
- PUT : UPDATE, 데이터 갱신
- DELETE : DELETE, 데이터 삭제
quiz)
1. TCP 특징?
2. TCP 연결 및 해제 과정?
3. TCP에서 데이터의 신뢰성을 보장하기 위한 방법?
4. UDP 특징?
5. TCP, UDP 차이점
6. UDP 오류 검출 방법
7. HTTP?
8. HTTP Keep Alive / TCP Keep Alive?
9. 쿠키와 세션의 ㅏ이점
10. HTTP/ HTTPS 차이점
11. HTTPS에서 사용하는 암호화 방식
12. URL입력 후 화면 출력까지의 과정
13. REST의 장단점
14. GET에 바디를 넣어 보내면 나타날 결과?
15. POST와 PUT의 차이점
'CS > 네트워크' 카테고리의 다른 글
네트워크 - REST (0) | 2024.06.19 |
---|---|
네트워크 - HTTP/S (0) | 2024.06.19 |
네트워크 - OSI 7계층, TCP/IP, TCP/UDP (0) | 2024.06.19 |