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

 

 

 

※ 한양대학교 이석복 교수님 컴퓨터네트워크 강의 내용 정리

※ 이화여대 이미정 교수님 컴퓨터네트워크 강의 내용 정리

 

반응형

+ Recent posts