首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么getaddrinfo返回的HTTP端口号是20480?

getaddrinfo函数是一个用于获取主机名和服务名对应的网络地址信息的函数。它返回一个addrinfo结构体链表,其中包含了主机名和服务名对应的多个网络地址。

getaddrinfo返回的HTTP端口号是20480是因为在网络中,端口号是用16位无符号整数表示的,范围是0-65535。而HTTP协议默认使用的端口号是80,但是在getaddrinfo函数中,端口号是以网络字节序(大端序)表示的。因此,20480是80的网络字节序表示。

HTTP协议是一种应用层协议,用于在客户端和服务器之间传输超文本数据。它是互联网上应用最为广泛的协议之一,被用于Web浏览器和Web服务器之间的通信。

推荐的腾讯云相关产品是云服务器(CVM)和负载均衡(CLB):

  • 云服务器(CVM)是腾讯云提供的弹性计算服务,可以快速创建和管理虚拟机实例,满足各种计算需求。
  • 负载均衡(CLB)是腾讯云提供的流量分发服务,可以将流量均匀地分发到多个后端服务器,提高系统的可用性和负载能力。

更多关于腾讯云产品的信息可以参考腾讯云官方网站:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

HenCoder Android:HTTP 为什么安全

好久没更新了,这期说一下 HTTPS 「安全」。 从这期开始,HenCoder 会开始讲自定义 View 以外内容。目标依然瞄准当代中国大多数工程师弱点:瓶颈基础。...这期 HTTP 方面的内容,以后也许继续网络,也有可能会和其他内容穿插着来。总之,目标不变:瞄准基础但避免晦涩,期望能提高大多数人天花板。...现在越来越多网站和服务开始启用 HTTPS,我们作为软件工程师也就需要跟进,把产品里面的 HTTP 请求改成 HTTPS 。...如果只是做这么一个切换,一般只需要把 url 里 http 改成 https 就行了,其他事情由系统或者网络请求库 API 来帮我们自动搞定。...但总有些例外情况——例如证书自签名——会需要我们对 HTTPS 原理有更深入了解,至少知道它所谓「安全」到底为什么。 这期我就从几个关键点上介绍一下,HTTPS 安全究竟是怎么回事。

53520

为什么 useState 返回 array 而不是 object?

[count, setCount] = useState(0) 这里可以看到 useState 返回一个数组,那么为什么返回数组而不是返回对象呢?...为什么返回数组而不是返回对象 要弄懂这个问题要先明白 ES6 解构赋值,来看 2 个简单例子: 数组解构赋值 const foo = [1, 2, 3]; const [one, two, three...,这个问题就很好解释了 如果 useState 返回数组,那么使用者可以对数组中元素命名,代码看起来也比较干净 如果 useState 返回对象,在解构对象时候必须要和 useState 内部实现返回对象同名...总结 useState 返回 array 而不是 object 原因就是为了降低使用复杂度,返回数组的话可以直接根据顺序解构,而返回对象的话要想使用多次就得定义别名了 首发自:为什么 useState...返回 array 而不是 object?

2.1K20

通过域名获取主机IP -- struct addrinfo

* 十进制端口号 或者常用服务名称如"ftp"、"http"等 */ const struct addrinfo *restrict hints, /* 获取信息要求设置 */ struct...servname: 服务名可以是十进制端口号(“8080”)字符串,也可以是已定义服务名称,如"ftp"、"http"等,详细请查看/etc/services 文件,最后翻译成对应服务端口号。...如果此参数设置为NULL,那么返回socket地址中端口号不会被设置。...如果 ai_flags 设置了AI_NUMERICSERV 标志并且该参数未设置为NULL,那么该参数必须一个指向10进制端口号字符串,不能设定成服务名,该标志就是用来阻止服务名解析。...返回值 如果 getaddrinfo() 函数执行成功,返回值为 0 , 其他情况返回值表示错误种别。使用函数gai_strerror() 可以获取可读性错误信息,用法用strerror()相同。

4.6K30

深入理解计算机系统(第三版) CSAPP 杂谈,第11章:网络编程

,成功返回非负数连接描述符,失败为-1 int getaddrinfo(const char* host, const char* service, const struct addrinfo...* hints, struct addrinfo** result) // 用于主机名,主机地址,服务名,端口号字符串表示转换成 addrinfo // addrinfo 一个列表,客户端调用 getaddrinfo...// hints 用于设置一些参数以便对返回 result 列表做更好控制 int getnameinfo(const struct sockaddr *sa, socklen_t salen,...,成功返回非负数连接描述符,失败为-1 int getaddrinfo(const char* host, const char* service,    const struct addrinfo*...hints, struct addrinfo** result)// 用于主机名,主机地址,服务名,端口号字符串表示转换成 addrinfo// addrinfo 一个列表,客户端调用 getaddrinfo

68330

为什么说HTTPS比HTTP安全? HTTPS如何保证安全

一、安全特性 在什么HTTP这篇文章中,我们了解到HTTP在通信过程中,存在以下问题: 通信使用明文(不加密),内容可能被窃听 不验证通信方身份,因此有可能遭遇伪装 而HTTPS出现正是解决这些问题...,HTTPS建立在SSL之上,其安全性由SSL来保证 在采用SSL后,HTTP就拥有了HTTPS加密、证书和完整性保护这些功能 ❝SSL(Secure Sockets Layer 安全套接字协议),...非对称加密:实现身份认证和密钥协商 摘要算法:验证信息完整性 数字签名:身份验证 对称加密 对称加密指的是加密和解密使用秘钥都是同一个,对称。...两个秘钥不同,公钥可以公开给任何人使用,私钥则需要保密 公钥和私钥都可以用来加密解密,但公钥加密后只能用私钥解 密,反过来,私钥加密后也只能用公钥解密 混合加密 在HTTPS通信过程中,采用对称加密...,一旦验证通过,则证明: 认证服务器公开密钥真实有效数字证书认证机构 服务器公开密钥值得信赖 三、总结 可以看到,HTTPS与HTTP虽然只差一个SSL,但是通信安全得到了大大保障,通信四大特性都以解决

64140

socket网络编程【1】寻址

今天先学习寻址、协议簇和套接字类型相关知识。 什么套接字呢? 套接字程序在本地或者通过互联网来回传递数据时所用通信通道一个端点。...在网络中查找主机 要查找当前主机名字,可以使用gethostname() import socket socket.gethostname() 所返回名字取决于当前系统网络设置,在不同网络返回名字可能不一样...查找服务信息 除了IP地址之外,每个套接字地址还包括一个整数端口号,一次只能有一个套接字使用该地址端口。 有些端口号已经预先分配给某个特定协议,例如SMTP使用25端口,HTTP使用80端口。...网络服务端口号和标准名可以使用getservbyname()查找。...()获取分配给一个传输协议端口号: socket.getprotobyname("imap") socket.getprotobyname("tcp") 查找服务器地址 使用getaddrinfo()

79520

socket:Python网络通信套接字

它包括socket类,用于处理具体数据通道,还包括用来完成网络相关任务函数,如将一个服务器名转换为一个地址以及格式化数据以便在网络上发送。 什么套接字?...套接字程序在本地或者通过互联网来回传递数据时所用通信通道一个端点。...gethostbyname:类似的函数,只返回当前主机IP地址。...getaddrinfo(查找服务器地址) getaddrinfo()函数用于将一个服务基本地址转换为一个元组列表,其中包含建立一个连接所需要全部信息。...:", sockaddr) 运行之后,效果如下: 这里如果只用socket.getaddrinfo(‘www.csdn.net’, ‘http’),表示不需要过滤任何连接信息,但大型网站一般都有几个

18150

VC++ IPv6支持

,未与其他主机建立连接SOCKET,后续会采用这个socket来进行收发包操作 nodename: 主机名,或者主机IP地址字符串 servicename: 服务名称,也可以是对应端口号字符串...,传入服务名时需要传入那些知名服务,比如HTTP、FTP等等, 其实这个字段本身就是需要传入端口,传入服务名,最后函数会根据服务名称转化为这些服务默认端口 LocalAddressLength,...LocalAddress, 返回当前地址结构,与长度 RemoteAddressLength, RemoteAddress,返回远程主机地址结构,与长度 timeout: 超时值 Reserved:...res:与gethostbyname类似,它也是返回一个地址结构链表。后续只需要遍历这个链表即可。...针对服务端,我们自然没办法事先知道它使用IP协议版本,因此传入af_family参数在这里不再适用,我们可以利用getaddrinfo函数根据服务端主机名或者端口号来提前获取它地址信息,这里我们可以封装一个函数

1.3K20

一次有趣 DNS 导致 Node 服务故障问题分析实录

node 部分请求分为两类,一种纯 node 处理,一种需要先 http 请求后端微服务处理接口。...发起地方,有日志为证,也就是 http函数调用是有实际发生,但是为什么没有请求,甚至没有建连。...如果这个域名 DNS 请求有发起,但是结果不对或者没有返回,那可以去找 coredns 问题。但是这里情况 DNS 请求都没有发起,那还不能甩锅到 coredns 那里。...,getaddrinfo 实现是同步阻塞,这与 Node 异步显然不搭,于是 Node 使用线程池来调用 getaddrinfo,模拟异步。...但是还是没能解释,为什么我们请求后端域名 seewo-xxx.uc-all 没能进入 SlowIO 队列中进行 DNS 解析呢?这个域名解析 OK

72730

Python网络编程中套接字名和DNS解析

在IP上使用流时候自动选择TCP,设置数据报时候自动选择UDP。 至于第4个和第5个参数就是IP地址和端口号。当然现在如果要是使用IPV6地址族的话,那你可以看看AF_INET6。...而下面要说getaddrinfo()这个工具,这个工具除了一些特定工作,否则这个函数将是我们用来将用户指定主机名和端口号转换为可供套接字方法使用地址时所需唯一方法。...这个工具还可以用来为服务器绑定端口,然后连接服务或者请求规范主机名。当然这是3个最重要getaddrinfo()标记操作。至于其他标记,不同操作系统上可用标记有所不同,但是也有一些跨平台。...至于更详细一些东西,可以看相关文档。 下面这段代码把上面内容结合起来,设计了一个简单例子。下面使用getaddrinfo()创建并连接套接字。...查询名称 能够将该名称存入缓存有效时间,以s为单位 类,比如返回互联网地址响应IN 记录类型,常见比如表示IPV4地址A,IPV6地址AAAA 最后数据 下面给出最后一段代码,解析电子邮件域名

3.4K70

Linux网络编程基础API

如果,sockatmark 返回I,此时我们就可以利用带MSG_0OB标志reev调用来接收带外数据。如果不是,则sockatmark返回0。...对这种情况,Linux给开发人员提供解决方案:对监听socket设置这些socket选项,那么accept返回连接socket将自动继承这些选项。...getaddrinfo getaddrinfo函数既能通过主机名获得IP地址(内部使用gethostbyname函数),也能通过服务名获得端口号(内部使用getservbyname函数)。...同样,service 参数可以接收服务名,也可以接收字符串表示十进制端口号。hints参数应用程序给getaddrinfo一个提示,以对getaddrinfo输出进行更精确控制。...getnameinfo和getaddrinfo函数成功时返回0,失败时返回错误码,可能错误码如表: Linux下strerror函数能将数值错误码error转换成易读字符串形式,同样下面的函数可将表错误码转换成字符串形式

1.4K20

InetAddress.getLocalHost() 执行很慢?

其中用到协议 mdns,也即多播dns(Multicast DNS),它主要实现了在没有传统 dns 服务器情况下使局域网内主机实现相互发现和通信,使用端口为 5353,遵从 dns 协议。...从上图时间线看,约在8秒时返回,整体耗时与上面报出 5007ms 吻合。再仔细观察网络包,看起来连续发了三次请求。...Wireshark 抓包时提到,mdns 查询时存在重试机制,但标准 Linux getaddrinfo 方法中没有看到对应代码; 前面提到5秒返回结果,其实不是返回结果,而是超时了。...接着上面的第3点,回到 Java 项目调试一下,看看为什么超时了还能返回结果。...getaddrinfo 调用返回错误码,此时 jdk 会转而调用 lookupIfLocalhost 方法,它内部调用了操作系统 getifaddrs 方法,以获取本机所有 ip 地址:对应源码可以参考

4.4K40

sqlmap 源码分析(二)初始化

sqlmapweb狗永远也绕不过去神器,为了能自由使用sqlmap,阅读源码还是有必要… 初始化 参数解析完后,开始初始化 init(cmdLineOptions) 这一部分主要是根据之前参数...然后配置文件初始化 __mergeOptions(inputOptions, overrideOptions) 新手引导 在分析参数时候有一个叫做wizard参数,关于新手引导,如果开启就会进入引导页面...,re.search如果搜索不到就会返回None if not re.search ("^[\n]*(GET|POST).*?...解析目标数据库 这里解析目标数据库并设置了一些配置 parseTargetDirect() 这里处理直连数据库解析函数,也就是前面提到-d if not conf.direct:..._getaddrinfo来设置请求dns缓存 def _getaddrinfo(*args, **kwargs): if args in kb.cache: return kb.cache

60720

Python网络编程-一文厘清socket、TCP和UDP那点事

端口计算机与外界进行通信交流出口,我们通过IP或域名访问到一台具体计算机后,可以通过端口号来访问这台计算机上对应软件或服务。...常用保留TCP端口号HTTP80、FTP20/21、Telnet23、SMTP25、DNS53等。 socket套接字 概念 socket网络通信端口一种现象,也称套接字。...以一个打开文件描述符创建一个套接字对象ssl()通过套接字启动一个安全套接字连接,不执行证书验证getaddrinfo()获取一个五元组序列形式地址信息getnameinfo()以给定套接字地址,...返回二元组(主机名,端口号)getfqdn()返回完整域名gethostname()返回当前主机名gethostbyname()将一个主机名映射到它IP地址gethostbyname_ex()gethostbyname...首先通过端口机制进行复用和分解,每个UDP应用程序在发送数据报文之前,必须与操作系统协商获取相应协议端口及端口号,然后根据目的端口号进行分解,接收端使用UDP校验进行确认,查看UDP报文是否正确到达了目标主机相应端口

1.2K20

美图App移动端DNS优化实践:HTTPS请求耗时减小近半

HTTP DNS基本原理如下: 原本用户进行 DNS 解析向运营商 DNS 服务器发起 UDP 报文进行查询,而在 HTTP DNS 下,我们修改为用户带上待查询域名和本机 IP 地址直接向 HTTP...WEB 服务器发起 HTTP 请求,这个 HTTP WEB 将返回域名解析后 IP 地址。...,那么它也不是我们希望; 3)返回 IP 可连接性:对返回 IP 进行质量测试,如果连接状况不佳,那么这个 DNS 服务器有劫持可疑。...正常情况下,a.so 中执行到 getaddrinfo 函数流程这样: 那么在这里,我们是否可以手动修改这个映射表内容,把 getaddrinfo 内存地址替换成我们 my_getaddrinfo...》 《网络编程懒人入门(五):快速理解为什么说UDP有时比TCP更有优势》 《网络编程懒人入门(六):史上最通俗集线器、交换机、路由器功能原理入门》 《网络编程懒人入门(七):深入浅出,全面理解HTTP

3.2K30

一次 Node.js 服务线上问题引出 DNS 缓存方案研究与思考

起初以为内网接口服务异常了,但接口反馈没有产生异常日志,也就是说异常请求还没打过去。...默认DNS查询方案 我们先来了解一下默认DNS查询方案: Node.js内置http模块http.request()请求时,会使用dns.lookup()进行查找 方法调用链条 http.request...getaddrinfo 函数 dns.lookup()方法调用到最终,调用底层getaddrinfo()函数(也就是上文报错点) 在C/C++代码中getaddrinfo函数同步调用,所以需要...由于dns.resolve()不使用getaddrinfo(),所以此时解析出来地址为undefined 避免并行请求实现 利用Map对正在查询hostname做缓存。...方法设置ttl:true让DNS查询结果返回ttl值 判断hostname还在缓存且未过期时直接返回缓存,否则进行查询 /** * @param {string} key * @returns {Address

2.2K30
领券