컴퓨터를 사용하면서 사용자가 하고 싶은 일을 할 수 있도록 도와주는 프로그램을 애플리케이션
이라고 한다.
애플리케이션은 두 가지로 분류할 수 있다
1) 서비스를 요청하는 클라이언트
2) 서비스를 제공하는 서버
우리가 일반적으로 아는 개념이고, 각각 응용 계층
에서 동작한다.
클라이언트와 서버가 통신하기 위해서는 응용 계층의 프로토콜
을 사용해야하고, 가장 대중적으로 알려진 HTTP
, SMTP
, FTP
, SMTP
, POP3
가 있다.
따라서, 응용계층의 역할은 아래처럼 정의할 수 있다.
역할
각각의 애플리케이션에 대응되는 데이터를 전송하는 역할
HTTP는 웹 사이트와 관련된 통신 프로토콜이다. 주로 서버의 80번 포트를 사용하여 통신을 한다.
클라이언트의 요청
을 받아 서버는 응답
을 보내는 구조로 되어있다.
HTTP 1.0은 초기 프로토콜이고, 요청을 보낼 때마다 연결했다가 끊는 작업을 반복하는 특징이 있다.
HTTP 1.1은 앞 버전의 반복된 연결을 개선한 버전으로, keep alive 기능이 추가되어있다.
연결을 한 번 수립하면, 데이터 교환
을 마칠 때까지 유지하고 데이터 교환을 모두 끝내면 연결을 끊는 구조이다. 추가로 순차적으로 데이터를 처리
하는 특징도 있다.
HTTP 2.0은 앞 버전의 순차 처리
를 개선한 버전이다. 요청을 보낸 순서대로 응답을 반환하지 않아도 되어서 콘텐츠를 빠르게 표현할 수 있게 되었다.
정의
: URL을 IP 주소로 변환하는 시스템
컴퓨터에서 도메인에 해당하는 IP 주소를 DNS 서버
에 요청을 하고,
1) 존재한다면, 반환
2) 존재하지 않는다면, 다른 DNS 서버에 요청하여 반환
3) 2번 반복
과정을 거쳐 IP 주소를 알려주고, 컴퓨터가 IP 주소를 사용합니다