我开始学习套接字,我试图弄清楚为什么你需要在请求中指定主机名。如果我已连接到“www.google.com”,那么请求中的“主机:www.google.com \ r \ n”有什么意义?服务器不知道自己的名字吗?HTTP:你为什么需要指定主机名?
1
A
回答
4
有时服务器确实知道它的主机名,但它并不总是1:1的关系。许多DNS主机名都可以指向相同的IP,因此,1个IP可以有许多DNS主机名。 (另外,一个DNS主机名可以映射到很多IP地址,但这个问题在这个问题上不太重要。)
HTTP请求中的Host:
行允许Web服务器知道您请求哪个主机名,并基于那。这允许一台IP地址的计算机为多个域提供服务。
例如,如果网络服务器看到Host: foo.com
,它可能服务于一个网站,但Host: bar.com
可能会导致返回完全不同的结果。 Web服务器没有其他数据可以使用这些信息,并且它依赖于Web客户端来通知它。
2
给定的服务器可以有许多不同的DNS名称。例如,认为共享托管网站。
相关问题
- 1. 为什么你要指定一个整数作为C签名?
- 2. 为什么你需要指定WCF服务的端点地址?
- 3. 为什么你需要指定Java堆大小?
- 4. 为什么需要更改EC2实例的主机名?
- 5. 什么是http标题,什么时候需要指定它们
- 6. 为什么VARCHAR需要长度指定?
- 7. 需要帮助确定主机名
- 8. 为什么硒网格需要主机名或IP地址的机器
- 9. 为什么你需要原型测试?
- 10. 为什么你需要编码URL?
- 11. 为什么你需要计算渲染?
- 12. 为什么你需要一个Hyper-V?
- 13. 什么是http主机头?
- 14. 需要什么使主机名解析在LAN上工作?
- 15. 为什么go需要你在变量名之前添加&?
- 16. 为什么你需要指定一个html表格宽度和列宽
- 17. 为什么我需要在创建卷时将主机名添加到docker
- 18. 为什么Flask-SQLAlchemy需要主键?
- 19. pkcs11-tool:为什么我需要指定要加载的模块?
- 20. 为什么我需要主机应用程序中的宝石
- 21. 为什么IPAddress.Any需要连接到远程主机?
- 22. Android为什么需要虚拟机(DVM)?
- 23. Python - 机械化:为什么需要CookieJar?
- 24. 为什么在android中定义paddingLeft时需要指定paddingRight?
- 25. 共享主机的http服务器需要什么样的证书?
- 26. 你为什么要用fmt.Sprint?
- 27. 为什么需要验证用户名?
- 28. 为什么Git需要签名推送?
- 29. 为什么需要
- 30. 为什么我需要在创建新模型时指定名称?
这实际上是关于HTTP协议,而不是winsock。 –