인프런 커뮤니티 질문&답변

기석님의 프로필 이미지
기석

작성한 질문수

모든 개발자를 위한 HTTP 웹 기본 지식

특별한 정보

Host, Port의 역할

해결된 질문

작성

·

482

1

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
TCP/IP 프로토콜에서 http 메시지를 담아 통신하는데, 서버에서 가상 호스트란 기술을 이용해 같은 IP로 여러 도메인을 운영하면 이것을 구분하기 위해 Host 정보를 필수로 담는다고 말하셨습니다. 이때 Port와 Host의 구분이 잘 안되어서 좀 생각해보았는데 이것이 맞는건지 알려주셨으면 합니다!!

 

http 프로토콜로 통신하는 경우에는 포트 80으로 이미 고정이 되어있기 때문에, 서버에 요청을 보낼 때 aaa.com, bbb.com, ccc.com 모두 80포트로 요청이 전송되니까 서버에서 어떤 도메인을 요청하는 건지 이를 구분하는 방법이 없어서 요청 헤더에 Host 정보를 담아 구분을 하는 것이 맞나요? 이렇게 같은 포트에 도메인 이름만 다르게 호스팅 하는 것을 이름 기반 가상 호스트라고 하는 것도 맞는지 궁금합니다!

 

답변 1

1

안녕하세요. 기석님, 공식 서포터즈 y2gcoder입니다.

말씀하신 내용이 맞습니다. 서버는 IP:Port 기준으로 되어있고, 해당 서버 안에는 서로 다른 도메인을 가진 애플리케이션이 존재하기 때문에 각 애플리케이션에 대한 요청을 구분해주기 위해 Host 헤더에 관련 도메인을 담아 보내주게 됩니다. 이름 기반 가상 호스팅(Name-based Virtual Hosting)이 맞습니다.

감사합니다.

기석님의 프로필 이미지
기석
질문자

감사합니다.

기석님의 프로필 이미지
기석

작성한 질문수

질문하기