*요청과 응답
<서버와 클라이언트>
서버 : 서비스를 제공하는 프로그램 또는 컴퓨터
클라이언트 : 서비스를 요청하여 사용하는 프로그램 또는 컴퓨터
프론트엔드 == 클라이언트
백엔드 == 서버
네트워크로 연결된 컴퓨터간의 관계를 역할로 구분한 개념
서버는 서비스를 제공하는 프로그램으로 클라이언트의 연결을 수락하고
요청 내용을 처리 후 응답을 보내는 역할
클라이언트는 서비스를 받는 프로그램으로 네트워크 데이터를 필요로 하는 모든 어플리케이션이 해당됨
<IP주소>
Internet Protocol == IP (인터넷 규약)
네트워크 상에서 컴퓨터를 식별하는 번호로 네트워크 어댑터(랜카드)마다 할당 되어 있음
<포트>
한개의 프로그램만 한개의 포트가 들어갈수 있음
같은 컴퓨터 내에서 프로그램을 식별하는 번호로
클라이언트는 서버 연결 요청 시 IP주소와 포트 번호를 알아야 함
*소켓 프로그래밍
소켓을 이용한 통신 프로그래밍
<소켓(Socket)>
프로세스 간의 통신에 사용되는 양쪽 끝 단
<프로토콜(Protocol)>
컴퓨터 간의 정보를 주고 받을 때의 통신방법에 대한 규약으로
접속이나, 전달방식, 데이터의 형식, 검증 방법 등을 맞추기 위한 약속
<TCP(Transmission Control Protocol)>
데이터의 전달이 신뢰성을 최대한 보장하기 위한 방식으로 연결지항형 통신이다.
순차적으로 데이터를 전송하고 확인 및 오류 시 재전송을 한다.
<UDP(User Datagram Protocol)>
클라이언트가 요청(포트)
서버에서 accept(수락)하면 연결