http - HTTP 响应是否指示接收者的地址或类似的地址?
问题描述
HTTP 请求通过起始行中的 URL 和 HOST 标头指示服务器上的资源。
HTTP 响应是否指示接收者的地址或类似的地址?如果没有,为什么没有必要?
谢谢。
解决方案
Internet 协议是分层的。
HTTP 请求被包装在 TCP 包中,TCP 包被包装在 IP 中。
外部 IP 数据包包含有关谁是消息的接收者和谁是发送者的信息。基于此信息,TCP/IP 服务知道将消息发送回何处。
标Host
头实际上是后来添加到 HTTP 的。以前并不真正需要它,因为假设单个 IP 地址将具有单个 HTTP 服务更安全。添加 Host 标头是因为人们需要从一组较小的 ip 地址提供许多不同的域,并根据域的内容发送不同的响应。
如果没有Host
标头,就不可能知道用户想要哪个域,因为 ip 数据包只编码 ip 地址,而不是用于查找 ip 的域。
推荐阅读
- r - httr: curl::curl_fetch_memory(url, handle = handle) 中的错误:从对等方接收数据时失败
- ios - iOS Swift 如何让 DateFormatter 在任何地区都没有年份?
- java - 为什么更改 jar 的名称会导致 UnsatisfiedLinkError 异常
- sql - 使用日期格式连接 DB for SQL 中的 3 个表
- php - PHP 项目混合标量类型
- angular - 承诺错误
- swift - 如何在 SpriteKit 的不同类中访问更改的属性
- ios - 致命异常:NSInvalidArgumentException + [NSMapTable cde_strongToStrongObjectsMapTable]:无法识别的选择器发送到类
- php - 未捕获 PHP 异常
- android - 图表值在 mpandroidchart 上出现时被四舍五入