포스팅은 모두의 네트워크에 기반하여 작성되었습니다. 응용 계층은 애플리케이션(네이버, 구글, 카카오톡 등)이 동작하는 계층을 의미합니다. 여기서 정리하는 응용 계층은 5계층인 세션 계층과 6계층인 표현 계층을 모두 포함합니다.
목차
1. 응용 계층의 역할과 웹 서버의 구조
2. DNS
응용 계층의 역할과 웹 서버의 구조
응용 계층에서는 클라이언트의 요청을 전달하기 위해 서버가 이해할 수 있는 데이터로 변환하고 전송 계층으로 전달하는 역할을 합니다. 서버와 통신하기 위해서는 응용 계층의 프로토콜을 사용해야 합니다. 대표적으로 HTTP(S), FTP, DNS 등이 있습니다.
WWW(World Wide Web)을 줄여 보통 웹이라고도 부릅니다. 웹은 HTML, URL, HTTP라는 세 가지 기술이 사용됩니다.
HTML : HyperText Markup Language
URL : Uniform Resource Locator
HTTP : HyperText Transfer Protocal
여기서 의미하는 Markup은 태그로 감싸져있는 형식을 의미합니다. <h2>hello world<h2> 이런식으로 말이죠.
하이퍼텍스트란 링크를 통해 문서 혹은 이미지 등을 연결할 수 있는 언어를 의미합니다.
HTTP
클라이언트는 서버의 80번 포트를 사용해서 HTTP 통신을 합니다. 아래와 클라이언트는 HTTP 요청(request)을 보내고 서버는 HTTP 응답(response)을 합니다. 아래 예시들은 HTTP 의 아주 일부분을 나타낸 것입니다.
HTTP1.1 에서는 Keepalive 기능이 생겼습니다. HTTP 요청을 보낼 때 마다 기존에는 연결을 수립했어야 됐습니다. 하지만 keepalive 기능 덕분에 해당 헤더에 설정된 timepout 시간 동안은 연결을 다시 확립하지 않아도 됩니다.
DNS
우리가 자주 사용하는 구글, 네이버에도 IP 주소가 존재합니다. 하지만 10진수 32비트로 구성된 숫자를 암기하기 쉽지 않습니다. 그래서 DNS를 사용합니다.
예를 들어 192.255.1.2 IP가 존재할 때 이를 외우기 힘드니 www.jxx.com 으로 매핑하는 것입니다.
이후 URL에www.jxx.com 을 을 요처하면 DNS 서버에서 해당 네임 서버의 IP를 반환해줍니다.
'네트워크' 카테고리의 다른 글
모두의 네트워크 - 전송 계층 (2) 일련번호와 확인 응답 번호, 포트 번호 (0) | 2023.05.22 |
---|---|
모두의 네트워크 - 전송 계층 (1) 전송 계층의 역할 및 TCP와 3-way 핸드셰이크 (0) | 2023.05.22 |
모두의 네트워크 - 네트워크 계층 (3) 서브넷과 라우터 (0) | 2023.05.21 |
모두의 네트워크 - 네트워크 계층 (2) IP (1) | 2023.05.21 |
모두의 네트워크 - 네트워크 계층 (1) 네트워크 간의 연결 구조 (0) | 2023.05.18 |