
- 네트워킹에 대해 조금 이야기하겠습니다.
- 클라이언트-서버 및 3계층 아키텍처를 살펴보겠습니다.
- HTTP/HTTPS 프로토콜을 살펴보겠습니다.
- Maven에 대해 알아야 할 모든 것을 배우게 됩니다.
- 우리는 로깅에 대해 이야기하고 있습니다.
- 서블릿 컨테이너 정보.
- 그리고 마지막으로 MVC에 대해.
파트 1. 네트워킹에 대해 조금 이야기하겠습니다.
모든 소셜 네트워크, 웹 서비스 및 웹 앱, 인스턴트 메신저 및 간단한 웹 사이트가 구축되는 네트워크( 이 기사 시리즈의 맥락에서 "네트워크"라는 용어는 인터넷을 의미함 ) 에 대해 이야기하면서 가장 중요한 것부터 시작하겠습니다. . 네트워크는 엄청난 수의 컴퓨터로 구성되어 있습니다. 서로 연결되어 있고 통신할 수 있습니다. 웹 응용 프로그램이 한 컴퓨터에서 다른 컴퓨터로 정보를 보내기 때문에 이를 수행하는 방법을 이해하는 것이 중요합니다.OSI 모델
OSI(Open Systems Interconnection) 모델은 네트워크 구축에 대한 계층화된 접근 방식을 생성합니다. 동일한 네트워크의 어떤 계층 엔터티가 서로 어떻게 그리고 어떤 계층에서 상호 작용할 수 있는지 명확하게 보여줍니다. 전체적으로 이 모델에는 7개의 레이어가 포함되어 있습니다.7 | 애플리케이션 |
6 | 프레젠테이션 |
5 | 세션 |
4 | 수송 |
삼 | 회로망 |
2 | 데이터 링크 |
1 | 물리적 |
-
물리 계층 — 이 계층은 물리 법칙과 이를 목적에 맞게 사용하는 방법을 다룹니다. 예를 들어 케이블을 생성하고 네트워크의 엔티티에 배치합니다.
이 레이어는 관심이 없습니다.
-
데이터 링크 계층 — 이 계층은 네트워크 노드로 데이터를 전송하고 물리적 개체에 대한 데이터 전송 채널을 생성하는 역할을 합니다.
데이터 링크를 설정하는 하드웨어용 펌웨어를 작성하지 않는 한 이 계층은 관심이 없습니다.
-
네트워크 계층 — 이 계층은 개별 네트워크 사용자의 주소와 경로를 결정하기 위한 것입니다. 이 계층의 세부 사항, 즉 네트워크 주소에 대해 자세히 알아보는 것이 좋습니다.
네트워크 주소는 특수 프로토콜로 정의됩니다. 가장 일반적인 프로토콜은 IPv4(인터넷 프로토콜 버전 4)입니다. 이것은 웹 프로그래머가 다른 네트워크 사용자에게 연락하기 위해 사용해야 하는 프로토콜입니다.
IPv4 주소는 마침표로 구분된 4바이트 값으로 구성됩니다(예: 192.0.2.235). 이러한 값은 바이트이며 0..255 범위 내에 있음을 의미합니다.
차례로 IP 주소는 클래스로 나뉩니다. 단순히 아름다운 숫자 조합을 할당할 수는 없지만 여기서는 깊이 들어가지 않겠습니다. IP 주소가 네트워크 사용자를 고유하게 식별하고 해당 사용자에게 연락하는 데 사용할 수 있다는 점을 이해하는 것으로 충분합니다.
-
전송 계층 — 이 계층은 수신자에게 정보 전달을 처리합니다. 이를 위해 다양한 프로토콜이 사용됩니다. 지금은 관심이 없습니다. 우리는 이 계층에 나타나는 포트 개념에 훨씬 더 관심이 있습니다 .
포트는 컴퓨터에서 특정 응용 프로그램을 식별하는 역할을 합니다. 예를 들어 Java로 채팅 앱을 작성하고 2대의 컴퓨터에 설치하고 친구에게 메시지를 보내고 싶다고 가정합니다. 귀하의 메시지가 패키지화되어 특정 IP 주소로 전송되고 친구에게 배달되지만 친구의 컴퓨터는 어떤 응용 프로그램이 귀하의 메시지를 처리해야 하는지 이해하지 못하기 때문에 받은 정보로 무엇을 해야할지 모릅니다. 네트워크 엔터티가 통신할 때 포트는 정보를 처리해야 하는 응용 프로그램을 나타내는 데 사용됩니다.
포트는 0~65535 범위의 숫자입니다. 콜론 다음에 IP 주소에 추가됩니다: 192.0.2.235:8080 . 그러나 지정된 범위의 모든 포트를 사용할 수는 없습니다. 그 중 일부는 운영 체제용으로 예약되어 있고 나머지는 특정 목적을 위해 관례적으로 사용됩니다. 우리는 다른 포트의 목적을 탐구하지 않을 것입니다. 지금은 네트워크 통신 과정에서 이들의 역할을 이해하는 것으로 충분합니다.
-
세션 계층 — 이 계층은 통신 세션을 생성하고 관리합니다. 이 계층에서는 애플리케이션이 상호 작용하여 서비스 수준 요청을 보내는 것이 가능해집니다. 우리가 알아야 할 것은 이 계층에서 두 사용자 사이에 세션이 열리고 세션을 사용하여 작업해야 한다는 것입니다.
세션은 두 사용자 간에 연결이 설정될 때 생성되는 엔터티입니다. 사용자 및 사용자와의 상호 작용 이력에 대한 필요한 정보를 저장할 수 있습니다. 중요한 세부 사항은 정보 교환이 중지되면 세션이 사라지지 않는다는 것입니다. 대신 일정 시간 동안 상태를 유지하므로 휴식 후 사용자가 계속해서 정보를 교환할 수 있습니다.
응용 프로그램이 동시에 여러 사용자와 통신하는 경우 해당 연결 수(따라서 세션)가 설정됩니다. 각 세션 에는 응용 프로그램이 통신 중인 사용자를 구별할 수 있는 고유 식별자(ID)가 있습니다 .
-
프리젠테이션 계층 — 이 계층은 데이터 인코딩/디코딩을 담당합니다. 분명히 "Hello web"이라는 문자열을 다른 사용자에게 보내야 하는 경우 먼저 이진 코드로 변환(인코딩)한 다음에만 보냅니다. 수신자에게 도달하면 메시지가 다시 변환(디코딩)되고 수신자는 원래 문자열을 볼 수 있습니다. 이러한 작업은 프레젠테이션 계층에서 발생합니다.
-
애플리케이션 계층은 우리에게 가장 흥미로운 계층입니다. 응용 프로그램이 네트워크와 통신할 수 있습니다. 이 계층에서 우리는 메시지를 주고받으며 서비스 및 원격 데이터베이스에 요청합니다.
이 계층에는 POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET 및 물론 HTTP/HTTPS와 같은 많은 프로토콜이 사용됩니다. 프로토콜은 통신할 때 준수하는 보편적인 합의입니다. 우리는 확실히 HTTP/HTTPS에 대한 별도의 자세한 설명을 제공할 것입니다.

- IP 주소 — 네트워크의 사용자 주소
- 포트 — 특정 사용자의 애플리케이션 주소
- 세션 — 두 사용자 간의 통신 기간 내내 존재하는 개체
- 애플리케이션 프로토콜(HTTP/HTTPS) — 메시지를 작성하고 보낼 때 따라야 할 규칙입니다.
DNS(도메인 이름 시스템)
이미 배운 것처럼 각 네트워크 사용자는 고유한 주소를 가지고 있습니다. 응용 프로그램에 대해 이야기하는 경우 고유 주소는 IPv4-address:port 입니다 . 이 주소를 알면 애플리케이션에 직접 액세스할 수 있습니다. 실시간으로 모든 국가의 평균 기온을 표시하는 웹 애플리케이션을 작성했다고 상상해 보십시오. 주소가 226.69.237.119인 서버의 포트 8080에 배포했습니다. 정보를 받으려면 사용자가 브라우저에 5개의 숫자(226.69.237.119:8080)를 입력해야 합니다. 사람들은 일련의 숫자를 암기하는 것을 좋아하지 않습니다. 우리 중 많은 사람들이 두 개 이상의 전화번호를 기억하지 못합니다. 그렇기 때문에 도메인 네임 시스템은발명되었습니다. 예를 들어 world-temperature.com과 같이 주소에 "별칭"을 만들 수 있습니다. 기억하기 어려운 5개의 숫자로 구성된 주소를 사용하여 우리를 찾는 대신 사용자는 브라우저의 주소 표시줄에 도메인 이름을 입력할 수 있습니다. 도메인 이름을 실제 주소에 매핑하는 DNS 서버가 있습니다 . 예를 들어 사용자가 브라우저에 codegym.cc를 입력하면 요청이 DNS 서버로 전송되어 실제 주소로 변환됩니다.
GO TO FULL VERSION