작성
·
66
·
수정됨
0
다른 분들 질문 읽어보았는데도 헷갈리네요.
port 강의에서 port는 같은 ip내에서 프로세스를 구분하는 것이라고 설명하셨습니다.
예를들어
200:200:200.2: 10
200:200:200.2: 20
200:200:200.2: 30
이렇게 같은 ip로 10번,20번,30번 포트로 나뉘어 있다면 모두 다른 프로세스? 어플리케이션? 이겠지요. 여기에 이번 강의 내용을 더해
200:200:200.2: 10 ip의 서버 안에
aaa.com, bbb.com, ccc.com로 각기 다른 어플리케이션으로 구동되어있다고 하겠습니다.
(사실 강의에는 포트 언급 내용이 없어서 하나의 포트안에 다른 도메인으로 구동가능한건지 모두 다른 포트로 구동한건지는 절 모르겠으나 하나의 포트안에 다른 도메인(어플리케이션)이 구동중이라고 가정하겟습니다.)
그리고 10번포트의 aaa.com을 찾는다고 하겠습니다.
이제 클라이언트 측에서 데이터를 전송했을떄
먼저 200:200:200.2 ip중에서 실행중인 10번 포트를 먼저 찾고 선택한 후 이중에서 다시
host명으로 aaa.com 을 선택하는 방식인건가요?
많이 헷갈려서 질문조차도 혼란스러운데 답변해주시면 감사하겠습니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. yoon6669님께서 헷갈리시는 부분에 대해 설명해 드리겠습니다.
먼저, 포트는 같은 IP 주소를 가진 서버 내에서 서로 다른 서비스를 구분하기 위해 사용됩니다. 따라서, “200.200.200.2:10”, “200.200.200.2:20”, “200.200.200.2:30”과 같은 형식은 각기 다른 프로세스 혹은 애플리케이션을 수행하는 것을 의미합니다.
그리고 하나의 IP 주소와 포트 내에서도 여러 도메인을 운영할 수 있습니다. 이는 ‘가상호스트’라는 기술 덕분인데요, 여러 도메인이 같은 IP와 포트를 공유하면서도 서로 다른 웹사이트나 서비스를 제공할 수 있게 해줍니다. 이를 구현하기 위해서는 HTTP 요청 헤더에 포함된 ‘Host’ 정보를 사용하여 서버가 어떤 도메인으로 들어온 요청인지 구분할 수 있습니다.
즉, 클라이언트에서 “aaa.com”이라는 도메인을 요청하면, IP와 포트를 통해 물리적 서버와 프로세스를 식별한 다음, 서버는 HTTP 요청의 Host 헤더를 참조하여 정확한 도메인을 구분하게 됩니다. 이런 과정을 통해 같은 포트에서 여러 도메인을 운영할 수 있는 것입니다.
관련된 질문을 참고하시면 이해에 도움이 되실 것입니다. 다음 링크를 참고해보세요:
링크에 있는 설명들을 보시면 현재 헷갈리시는 부분을 해소하실 수 있을 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.