인터넷에서 통신은 생각보다 그리 간단하기 이뤄지지 않는다.
클라이언트쪽에서 서버에 데이터를 보낼 경우, 여러 경로를 통해 이동되어지고 보내지게 된다.
인터넷 프로토콜은 지정한 IP 주소(IP Address)에 데이터를 전달한다. 전달할 때 패킷(Packet)이라는 통신 단위로 데이터가 전달되어진다.
인터넷 프로토콜의 한계는 아래와 같다.
네트워크의 경우 각각의 계층으로 나뉘어져있고 담당하는 역할과 책임지는 영역이 다르다.
전송 제어 프로토콜(Transmission Control Protocol)
연결지향 - TCP 3 way handshake
-> 1. SYN(접속요청) -> 2. SYN(접속요청)+ACK(요청수락) -> 3. ACK(요청수락) 과정으로 연결이 진행된다.
데이터 전달 보증
순서 보장
신뢰할 수 있는 프로토콜
현재는 대부분 TCP 사용
사용자 데이터그램 프로토콜(User Datagram Protocol)
PORT는 같은 IP내에서 프로세스 구분을 위해 필요하다.
IP가 아파트라면 PORT는 아파트 호수를 나타내는 것과 같다.
0 ~ 65535까지 할당 가능하지만 0 ~ 1023는 잘알려진 포트로 사용하지 안하는 것이 좋다.
HTTP - 80
HTTPS - 443
도메인 네임 시스템(Domain Name System)
IP는 변경될 수도 있다. 고로 도메인 명을 사용해서 IP 주소를 찾아주면 좋다.
DNS는 특정 컴퓨터(또는 네트워크로 연결된 임의의 장치)의 주소를 찾기 위해, 사람이 이해하기 쉬운 도메인 이름을 숫자로 된 식별 번호(IP 주소)로 변환해 준다. 도메인 네임 시스템은 흔히 "전화번호부"에 비유된다
블로그(https://hahahoho5915.tistory.com/15)
강의 - 모든 개발자를 위한 HTTP 웹 기본 지식(https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard)