애플리케이션 계층


사용자가 직접 사용하면서 체감할 수 있는 서비스를 제공



사용자가 직접 사용하는 프로토콜


Http - 웹 클라이언트와 웹 서버 사이에서 웹페이지 데이터를 주고 받는다. 

POP, SMTP, IMAP - 메일을 송수신하고 보관한다.

SMB, AFP - LAN 안에서  파일을 공유한다.

FTP - 서버를 통해 파일을 주고 받는다

Telnet, SSH - 원격에서 서버를 제어한다.



사용자가 간접적으로 사용하는 프로토콜


DNS - 도메인명과 IP어드레스의 정보를 서로 변환할 때 사용한다.

DHCP - LAN 내의 컴퓨터에게 IP어드레스를 할당할 때 사용한다.

SSL/TLS - 통신 데이터를 암호화하여 주요 정보를 안전하게 주고 받을 때 사용한다.

NTP - 네트워크에 연결된 장비들의 시스템 시간을 동기화할 때 사용한다.

LDAP - 네트워크에 연결된 자원(사용자, 장비들)의 통합 관리에 필요한 디렉터리 서비스를 제공할 때 사용한다.



웹페이지가 표시되기까지의 과정


웹브라우저가 웹서버로 특정 웹페이지를 요청하면 웹서버가 해당 페이지의 내용을 HTML 형식으로 응답



HTTP 메세지


웹 브라우저와 웹서버는 HTTP라는 애플리케이션 계층의 프로토콜을 사용

이 과정에서 주고 받은 정보가 HTTP 메세지, 크게 request와 response로 나뉨



HTTP  메세지 구조


request line/ status line(응답 정보행)   - 메세지의 종류나 상태를 표시 

 header  - 메세지에 대한 상세한 정보 

 blank line

message body  - 응답인 경우 이 부분에 HTML 데이터가 들어감



HTTP는 통신 시 정보를 한 번씩 주고 받은 후 바로 끊는 형태로 처리,

이렇게 상태정보를 저장하지 않는 통신형태를 stateless라고 함(무상태 프로토콜)

--> 상태 정보를 유지하기 위한 별도의 처리가 필요




HTTP 요청과 URL


http://www.test.co.kr/test/index.html

스키마        host        도메인          디렉토리        파일


스키마 - 사용하는 프로토콜을 명시

호스트 - 서버의 이름 혹은 역할을 명시

도메인 - 서버를 운영하는 조직을 명시

디렉터리 - 서버내의 디렉터리를 명시

파일 - 해당 디렉터리 내의 파일을 명시



HTTP 요청 예시


 GET/test/index.html HTTP/1.1 

 Host:www.test.co.kr

 connection : keep-alive

 Accept : text/html,aplication/xhtml+xml

 User-Agent: Mozila/5.0(Macintosh; Intel Mac OS X 10_9_2) AppleWebkit/537.36 (KHTML, like Gecko) Chrome/3

 생략

 get일 경우 메시지 바디는 없다.



HTTP 응답과 상태 코드


HTTP 응답 데이터에는 첫번쨰 행에는 요청에 대한 응답 상태를 표시하는 상태코드가 들어간다.

응답이 정상이라면 메시지 바디에 요청한 웹페이지의 내용이 들어감


 HTTP/1.1 200 OK 

 data:TUE, 10 Jan 2017 14:19:20 GMT

 Server:Apache

 Last-Modified:Fri, 8 Jan 2017 12:12:12 GMT

 생략

 빈줄

 HTML 내용



'네트워크' 카테고리의 다른 글

네트워크 서비스와 어플리케이션 계층(3)  (0) 2017.01.13
네트워크 서비스와 애플리케이션 계층(2)  (0) 2017.01.11
프로토콜 종류  (0) 2017.01.04
컴퓨터네트워크(3)  (0) 2017.01.03
컴퓨터 네트워크(2)  (0) 2016.12.24

+ Recent posts