모든 개발자를 위한 HTTP 웹 기본지식 - 김영한님
컴퓨터(클라이언트, 서버)가 인터넷에서 데이터를 주고받는 방법
인터넷 프로토콜 역할
패킷
이라는 통신 단위로 데이터를 주고받는다IP 프로토콜의 한계
받는 대상이 어떤 상태인지 모른다. (패킷을 받을 수 없는 상태여도 그냥 보낸다.)
중간에 패킷이 사라지거나, 패킷의 순서가 잘못되어도 확인이 불가능하다.
같은 IP주소에서 여러 프로그램이 실행 중이면, 어떤 프로그램에 데이터를 전달하는지 알 수 없다.
IP 프로토콜의 한계를 보완 (현재 대부분 사용하는 프로토콜)
SYN
)SYN + ACK
)SYN
)TCP/IP 패킷 정보
기억하기 쉽도록 만들어진 도메인을 통해 IP주소를 찾아서 연결시켜준다.
리소스를 다른 항목과 구분하기위한 식별자
URL, URN을 포함하는 개념, URN은 거의 사용하지 않기 때문에 URL과 혼용되어 같은 의미로 많이 사용된다.
URL분석
https
://www.google.com
:443
/search
?q=hello&hl=ko
https
: 프로토콜을 의미, 어떤 방식으로 자원에 접근할 것인가 (ex. http, https, ftp)
www.google.com
: 도메인명 또는 IP주소
443
: port번호, 일반적으로 생략가능하다
/search
: 리소스 경로, 계층적구조
q=hello&hl=ko
: 쿼리 파라미터, key=value형태, ?로 시작하고 &로 추가 가능
https://www.google.com:443/search?q=hello&hl=ko
웹 브라우저
서버