애플리케이션 계층
사용자가 직접 사용하면서 체감할 수 있는 서비스를 제공
사용자가 직접 사용하는 프로토콜
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 |