서버(데이터를 전달해주는)- 클라이언트(데이터를 사용하는)로 이루어진 설계방식
간단하게말하면 데이터베이스를 포함한서버와 클라이언트가 통신하는 시스템을말한다.
그렇다면 3티어 아키텍처는뭐냐. 클라이언트-서버-데이터베이스
데이터베이스와 직접통신하지않고 서버를 거쳐통신하기때문에 데이터베이스 보안성이 훨씬올라간다.
참조 : https://romcanrom.tistory.com/75
간단하게 설명하자면 우리가 매일하는 프로그래밍도 컴퓨터와 우리가 컴퓨터가 알아먹는 프로그래밍 언어를통해 컴퓨터가 알아먹게 변환해서 명령하면 컴퓨터가 동작하는 뭐 얼추 그런구조다.
클라이언트와 서버간의통신도 마찬가지다 서버가 알아먹게 요청을해야할꺼아니냐 그런 소통방식을 >
이라고한다. 그럼 프로그래밍언어랑 비슷한개념이라고 보면됨 대표적으로 웹에서는 HTTP라는 프로토콜을 이용해서하고 여기서 이를통해나누는 대화비슷한걸 HTTP 메세지라고한다.
위 7가지는 응용계층 아래 2가지는 전송계층의 프로토콜이다.
잠깐여기서 앞에 이야기햇던 비유를 이어나가자면 사실 프로그래밍언어를 컴퓨터가 알아먹을순없다.
이를 컴퓨터가 알아먹게 컴파일러라는녀석이 도와주는데 우리도 서버와통신을하기위해 어떻게해야하는지 사람언어로 도와주는녀석이있습니다. 그것이바로
API는 사람이 잘이용할수있도록 어떤 인터페이스를 제공해주고 우리는 그걸사용하면됩니다.
URL(주소창) Uniform Resource Locator
URI는 Uniform Resource Identifier
위두가지의 차이는 요소의차이라고보면됨.
URL은 scheme, hosts, url-path
URI는 scheme, hosts, url-path에 더해 query, fragment
각요소가 대체뭔지
따라서 URI가 URL을 포함하는 넓은 개념이다.
IP address란 네트워크에 연결된 특정 PC의 주소를 나타내는 체계 이를 나타내는방법은 두가지가있는데 IPv4 IPv6 그니까 네덩이냐 여섯덩이냐차이지만 최신버전이 IPv6이다.
PORT는 접근하는통로다. IP주소로 접근해보자
주요 IP localhost, 127.0.0.1 : 현재 사용 중인 로컬 PC를 지칭합니다.
0.0.0.0, 255.255.255.255 : broadcast address, 로컬 네트워크에 접속된 모든 장치와 소통하는 주소입니다. 서버에서 접근 가능 IP 주소를 broadcast address 로 지정하면, 모든 기기에서 서버에 접근할 수 있습니다.
22 : SSH
80 : HTTP
443: HTTPS
주요 포트.
도메인이란? 웹 브라우저를 통해 특정 사이트에 진입을 할 때, IP 주소를 대신하여 사용하는 주소가 있습니다. 만약 IP 주소가 지번 또는 도로명 주소라면, 도메인 이름은 해당 주소에 위치한 상호로 볼 수 있습니다.
DNS란? DNS는 호스트의 도메인 이름을 IP 주소로 변환하거나 반대의 경우를 수행할 수 있도록 개발된 데이터베이스 시스템입니다.
간단하게말하면 DNS는 IP주소와 도메인이름을 매칭시켜주는 데이터베이스시스템이다.
앞에서다뤗던 프로토콜의 종류인 HTTP에대해서 조금 자세히 다뤄보자.
앞에서 HTTP를통해 서버와 클라이언트간에 교류가일어난다고했는데
이러한 교환방식을 HTTP Message라고한다. 여기는 요청과 응답이있는데 요청은 보통 클라이언트쪽에서 응답은 서버쪽에서 하게된다.
Stateless는 말 그대로 상태를 가지지 않는다는 뜻입니다. HTTP로 클라이언트와 서버가 통신을 주고받는 과정에서, HTTP가 클라이언트나 서버의 상태를 확인하지 않습니다. (HTTP의특징)