作者回复: 回答正确,但关于字段和query参数的区别可以再多说一些。
作者回复: thanks。
作者回复: 如果网站使用了cdn就会解析到cdn,否则就是网站自己的服务器。
判断远近很复杂,也是cdn的核心技术之一,术语叫GSLB。简单来说,就是看ip地址,然后有一个对照表,就知道在哪里了。
作者回复: 总结的非常好,赞!
作者回复: dns只解析ip地址,端口号是浏览器添加的。
如果不提供端口号,浏览器就会添加默认端口号,比如80/443。
作者回复:
1.可以拿磁盘文件系统来对比理解。绝对路径就是从web服务器的根目录开始的文件查找路径,相对路径是以当前页面的路径为基准,使用“.”“..”来查找文件。一般多用相对路径,写起来比较方便。
2.RESTful是一种Web API设计风格,以http协议传输数据,接口使用uri,使用get/post等方法来表示操作。和WebService、gRPC不同,它不是强制的,只是一种指导意见,遵守它可以写出易理解、易维护的Web服务
作者回复: 为了方便用户使用,浏览器会有一些容错处理,可以输入不同太规范的uri,但我们自己写程序还是要尽量按照标准来。
作者回复: 地址栏里的query参数是uri的一部分,当然是在请求头里。
作者回复: 不完全正确。
我是这样理解的:
query参数针对的是资源(uri),而字段针对的是本次请求,也就是报文。
一个是长期、稳定的,一个是短期、临时的。
作者回复: 统一资源名称(英语:Uniform Resource Name,缩写:URN),已经基本不使用了,所以URI现在差不多可以认为就是URL。
作者回复: 笔误,写错了,非常抱歉,我尽快改过来。
作者回复: 感谢补充。
作者回复: 有的uri会对uri解码,显示正常的文字,但有的uri太长太怪,可能就不显示正常文字了。
但本质上uri里的非ascii码都是被编码的,这是rfc规定的。
作者回复: 说的很好。
我在之前的答复里好像也说过,头字段针对的是本次请求,而query参数针对的是uri表示的资源,两者的作用域和时效性是不一样的。
作者回复: 回答正确。
不过第二个问题怪我没说清楚,实际上想问的是这两者形式很相近,应该在什么场景下使用查询参数或者头字段。
作者回复: uri与http同时发明的,里的协议名可以扩展,比如后来就添加了WebSocket。
作者回复: 加user和password的uri可以用,但不推荐,非常不安全,所以我就不过多介绍了,避免“误入歧途”。
作者回复: 大体正确。
URI 的查询参数描述的是资源的属性,字段描述的是本次请求的属性,区别比较细微。