소켓을 배우기 시작했는데 요청에서 호스트 이름을 지정해야하는 이유를 파악하려고합니다. "www.google.com"에 이미 연결되어있는 경우 요청에 "호스트 : www.google.com \ r \ n"의 요점은 무엇입니까? 서버가 이미 자신의 이름을 알고 있지 않습니까?HTTP : 왜 호스트 이름을 지정해야합니까?
1
A
답변
4
때때로 서버는 호스트 이름을 알고 있지만 항상 1 : 1 관계는 아닙니다. 많은 DNS 호스트 이름이 모두 같은 IP를 가리킬 수 있으므로 1 개의 IP에 여러 개의 DNS 호스트 이름이있을 수 있습니다. 또한 단일 DNS 호스트 이름을 여러 IP 주소에 매핑 할 수 있지만이 질문에서 덜 중요합니다.
HTTP 요청의 행은 웹 서버가 요청한 호스트 이름을 알고 그. 이렇게하면 IP 주소의 한 시스템이 많은 도메인을 지원할 수 있습니다.
예를 들어 웹 서버가 Host: foo.com
으로 표시되면 하나의 웹 사이트를 제공 할 수 있지만 Host: bar.com
은 완전히 다른 결과를 반환 할 수 있습니다. 이 정보로 웹 서버가 사용할 수있는 다른 데이터는 없으며이를 알리기 위해 웹 클라이언트에 의존합니다.
2
주어진 서버는 다양한 DNS 이름을 가질 수 있습니다. 예를 들어 공유 호스팅 사이트를 생각해보십시오.
관련 문제
- 1. 왜 이름을 지정해야합니까?
- 2. 왜 twisted.internet.deferred의 인스턴스 이름을 지정해야합니까?
- 3. java.util.Map의 이름을 어떻게 지정해야합니까?
- 4. 소문자로 패키지 이름을 지정해야합니까?
- 5. 내 핸들의 이름을 어떻게 지정해야합니까?
- 6. MiniTest :: Spec 파일의 이름을 지정해야합니까?
- 7. 이 함수의 이름을 어떻게 지정해야합니까?
- 8. 내 어셈블리의 이름을 원격으로 지정해야합니까?
- 9. 왜 Java 힙 크기를 지정해야합니까?
- 10. 호스트 이름을
- 11. http 프록시가 호스트 + 포트
- 12. 내 솔루션의 파일 이름을 모두 소문자로 지정해야합니까?
- 13. 호스트 이름을 무시하기위한 정규식
- 14. 관계형 데이터베이스의 필드 이름을 어떻게 지정해야합니까?
- 15. 파이썬에서 내 전역 모듈의 이름을 어떻게 지정해야합니까?
- 16. "makefile"또는 "Makefile"의 이름을 지정해야합니까?
- 17. Visual Studio에서 테스트의 이름을 어떻게 지정해야합니까?
- 18. FK/PK 관계가있는 데이터베이스의 열 이름을 지정해야합니까?
- 19. PHP 클래스 파일의 이름을 어떻게 지정해야합니까?
- 20. 내 모든 추상 클래스의 이름을 지정해야합니까? AbstractFoo
- 21. 예외의 이름을 PrinterException 또는 PrintingException로 지정해야합니까?
- 22. 라이온 서버가 항상 인터넷 호스트 이름을 가리키는 호스트 이름을 변경합니다.
- 23. Maven에서 호스트 이름을 찾습니다.
- 24. URL이 http://www.europewebsite.co.uk 인 서버의 호스트 이름을 얻는 방법은 무엇입니까?
- 25. C++ Http GET 패킷에서 호스트 이름을 얻는 방법
- 26. 왜 항상 std :: for_each에서 반복자를 지정해야합니까?
- 27. VML을 사용할 때 왜 다음 스타일을 지정해야합니까?
- 28. 왜 html 테이블 너비와 열 너비를 지정해야합니까
- 29. 왜 friendly_id로 범위를 명시 적으로 지정해야합니까?
- 30. Java의 호스트 HTTP 끝점
이것은 실제로 winsock이 아니라 HTTP 프로토콜입니다. –