关于http请求头host字段中的port
来源:互联网 发布:打印机合格证的软件 编辑:程序博客网 时间:2024/04/30 04:06
按照RFC的描述:https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.23
http请求头host字段用来指定host和port。
如果该字段中没有指定port,表示使用默认端口。比如,http的则使用默认端口80,https的则使用默认端口443。
按照这个描述,对于默认端口,host中是否指定似乎都是可以的。
实际使用经验:
1、如果host字段中指定默认端口,部分服务器会无法处理,从而导致域名解析失败或者连接失败的错误。
比如facebook的一些下载链接就不支持指定默认端口的请求。
2、如果host字段中不指定默认端口,可能也会出问题。这种情况我没有遇到过,但网上有人遇到过不指定默认端口遇到了连接问题。
可见,是否支持host中指定默认端口,依赖于服务器对协议的实现。
那么client端该采取什么策略?
android网络库的做法是默认端口不指定,非默认端口指定。
参考源码:
https://android.googlesource.com/platform/frameworks/base.git/+/f013e1afd1e68af5e3b868c26a653bbfb39538f8/core/java/android/net/http/Request.java
其中getHostPort方法的实现
个人建议:
对于使用默认端口的请求,host字段中不指定port;
如果不指定port的请求出现域名解析或连接相关的失败,则进行重试,重试时host字段中加上port。
0 0
- 关于http请求头host字段中的port
- 关于http请求头host字段中的port
- http头中的host字段详解
- http头中的host字段详解
- http头中的host字段详解
- http头中的host字段详解
- http头中的host字段详解
- http头中的host字段详解
- http头中的host字段详解
- 关于http请求头中的refer字段的解释
- HTTP请求头中的refer字段
- http头host字段详解
- http 请求头字段
- http 请求头字段
- HTTP中的Host字段
- HTTP 请求头-响应头 字段解释
- HTTP请求首部的Host字段
- HTTP请求中的常用请求字段和HTTP的响应状态码及响应头
- Android JSON解析
- Java 8特性探究(1):通往lambda之路_语法篇
- Javascript如何创建一个新的实例(指针)
- CSS 基础教程目录
- 03python_function
- 关于http请求头host字段中的port
- Activity中获取view的高度和宽度为0的原因以及解决方案
- cocos2d-x核心概念(二)——字符串,标签和菜单
- 上传文件的服务
- 52nod 1012最小公倍数LCM
- 彻底理解ThreadLocal
- iOS事务的基本概念
- Android查询 每个进程的权限
- win7 iis 配置PHP5.3.27实践记录