1. 네트워크 계층 (OSI 7 Layer, TCP/IP Layer)
OSI 7 Layer 모델
- 물리 계층 (Physical Layer): 하드웨어 전송 기술 (예: 케이블, 광섬유).
- 데이터 링크 계층 (Data Link Layer): 네트워크 장치 간의 데이터 전송 (예: MAC 주소, 프레임).
- 네트워크 계층 (Network Layer): 데이터 라우팅, IP 주소.
- 전송 계층 (Transport Layer): 종단 간 데이터 전송 관리 (예: TCP, UDP).
- 세션 계층 (Session Layer): 통신 세션 관리.
- 표현 계층 (Presentation Layer): 데이터 형식 변환, 암호화.
- 응용 계층 (Application Layer): 최종 사용자의 응용 프로그램 (예: HTTP, FTP).
TCP/IP 모델
- 링크 계층 (Link Layer): OSI의 물리 및 데이터 링크 계층에 해당.
- 인터넷 계층 (Internet Layer): OSI의 네트워크 계층, IP 주소 및 라우팅.
- 전송 계층 (Transport Layer): OSI의 전송 계층, TCP 및 UDP.
- 응용 계층 (Application Layer): OSI의 세션, 표현, 응용 계층에 해당, HTTP, SMTP 등.
2. 클라이언트-서버 모델
- 클라이언트: 서버에 서비스나 자원 요청.
- 서버: 요청된 서비스나 자원 제공.
- 특징: 중앙집중식 자원 관리, 모듈성, 확장성, 보안 및 유지 보수 용이성.
3. 소켓 (socket, bind, listen, accept, connect, close)
- socket(): 소켓 생성.
- bind(): 소켓에 IP 주소와 포트 번호 할당.
- listen(): 연결 요청 수신 대기.
- accept(): 연결 요청 수락.
- connect(): 클라이언트에서 서버에 연결 시도.
- close(): 소켓 닫기.
4. 파일 디스크립터
- 파일 또는 I/O 리소스를 참조하는 정수 값.
- 표준 입출력 및 파일/소켓 연산에 사용.
- 운영 체제의 열린 파일 테이블과 연관.
5. Datagram Socket vs Stream Socket
- Datagram Socket (UDP 기반): 비연결 지향적, 빠른 속도, 신뢰성 없는 데이터 전송.
- Stream Socket (TCP 기반): 연결 지향적, 데이터 순서 및 신뢰성 있는 전송.
6. CGI, WebServer, MIME Type
- CGI (Common Gateway Interface): 서버와 외부 프로그램 간의 데이터 전송 인터페이스.
- WebServer: 클라이언트로부터의 HTTP 요청을 처리하고 웹 페이지 제공.
- MIME Type: 문서, 파일의 형식을 지정하는 표준 (예: text/html, image/jpeg).
7. HTTP (요청 - 응답, 헤더, 메소드, 상태코드, HEAD 메소드)
- HTTP 요청과 응답: 클라이언트가 서버에 정보 요청, 서버가 응답.
- 헤더: 메타데이터, 요청 및 응답에 대한 추가 정보 포함.
- 메소드: GET, POST, PUT, DELETE 등.
- 상태코드: 200 OK, 404 Not Found 등.
- HEAD 메소드: GET과 유사하지만, 본문 없이 헤더 정보만 요청.