IP와 PORT
IP : 호스트
port : 호스트 내의 프로그램
application layer 는 transport layer에 종속적이며 transport layer에서 application layer에 다음과 같은 것들을 지원해준다.
1) data integrity
2) timing
3) throughput
4) security
HTTP (hypertext transfer protocol)
- WEB's application layer protocol
- TCP 사용
- default 80번 port 사용
- stateless : 클라이언트 요청에 대한 상태저장 없음 (cookie 사용)
* safari, explorer, chrome 은 모두 다른 application 이지만 모두 같은 HTTP (protocol) 을 사용하므로 브라우저와 무관하게 application 사용이 가능하다
HTTP 의 두가지 방식
1. non-persistent HTTP
- TCP 커넥션을 HTTP 사용후 close
- 매 http 마다 TCP 커넥션을 새로 맺음
- 응답시간이 persistent 방식보다 더 많이 걸림
* RTT : round trip time
2. persistent HTTP
- multiple objects can be sent over single TCP connection between client, server
클라이언트/서버 간 하나의 TCP 커넥션으로 여러개의 HTTP 송수신을 수행
- 현재 사용하는 HTTP 1.1 버전은 persistent 가 default. (지속커넥션 사용)
* 파이프라인 사용
HTTP request message
Cookie 동작 순서
Web caches(Proxy server)
origin server에 HTTP 요청을 하는 서버대신 proxy 서버에 HTTP 요청
- origin server의 부하를 줄이고
- 비용을 줄임
- 속도가 빠름
※ Cache에 저장된 데이터가 최신이 아닐 수 있다.
브라우저로 전달되는 객체들이 최신임을 확인하며 캐싱할 수 있도록 Conditional GET 사용
Conditional GET
- HTTP 요청에 If-Modified-Since 헤더 라인 포함.
- 서버에 있는 객체의 마지막 수정된 날짜와 비교.
수정된 객체라면 객체를 보내줌 (200 OK + data)
최신 상태이면 object를 보내지 않음 (304 Not modified)
SMTP (Simple Mail Transfer Protocol)
- 메일서버에 송신자가 메일을 보낼때, 송신메일서버가 수신메일서버에 메일을 보낼 때 사용되는 프로토콜
- 수신메일서버에서 수신인이 메일을 읽어갈 땐 POP/IMAP/HTTP 등의 프로토콜을 사용
- persistent connection 사용
- default 25번 포트 사용
- handshaking > transfer > closure 순서로 동작
HTTP : 클라이언트 입장에서 데이터를 가져오므로 pull protocol
SMTP : 클라이언트 입장에서 데이터를 보내므로 push protocol
※ 한양대학교 이석복 교수님 컴퓨터네트워크 강의 내용 정리
※ 이화여대 이미정 교수님 컴퓨터네트워크 강의 내용 정리
'Computer Science > data comm & network' 카테고리의 다른 글
[Network] 4. P2P : BitTorrent, tit-for-tat (0) | 2020.04.13 |
---|---|
[Network] 3. Application layer : DNS, TTL (0) | 2020.04.06 |
[Network] 1. 네트워크 기본 : Network 구성요소, TCP vs UDP, 서킷 스위칭 vs 패킷 스위칭, 패킷 딜레이 (0) | 2020.04.03 |
[Data comm.] OSI 7계층, TCP/IP 4계층 : 허브/스위치/공유기의 차이 (1) | 2019.12.22 |
REST API 란 (0) | 2019.02.22 |