A domain name query method, comprising: receiving , by a hypertext transfer protocol domain name system, HTTPDNS, server, a hypertext transfer protocol, HTTP, request packet sent by a terminal device, wherein the HTTP request packet carries a to-be-accessed domain name and scheduling information of the terminal device; constructing , by the HTTPDNS server, a domain name system, DNS, query packet based on the HTTP request packet, and sending the DNS query packet to an authoritative domain name server, wherein the DNS query packet carries the to-be-accessed domain name and the scheduling information; receiving , by the HTTPDNS server, a DNS reply packet sent by the authoritative domain name server, wherein the DNS reply packet carries an IP address of a to-be-accessed site, and the to-be-accessed site is an edge cache node that is selected by the authoritative domain name server from a plurality of sites of the to-be-accessed domain name and that corresponds to the scheduling information; and constructing , by the HTTPDNS server, an HTTP reply packet based on the DNS reply packet, and sending the HTTP reply packet to the terminal device, wherein the HTTP reply packet carries the IP address of the to-be-accessed site, wherein the scheduling information of the HTTP request packet and the DNS query packet comprises a geographical location of the terminal device, and the to-be-accessed site is an edge cache node that is selected by the authoritative domain name server from the plurality of edge cache nodes of the to-be-accessed domain name and that corresponds to the geographical location of the terminal device, characterized by the geographical location comprising one of the following: longitude and latitude, an administrative area, a street. receiving , by a hypertext transfer protocol domain name system, HTTPDNS, server, a hypertext transfer protocol, HTTP, request packet sent by a terminal device, wherein the HTTP request packet carries a to-be-accessed domain name and scheduling information of the terminal device; constructing , by the HTTPDNS server, a domain name system, DNS, query packet based on the HTTP request packet, and sending the DNS query packet to an authoritative domain name server, wherein the DNS query packet carries the to-be-accessed domain name and the scheduling information; receiving , by the HTTPDNS server, a DNS reply packet sent by the authoritative domain name server, wherein the DNS reply packet carries an IP address of a to-be-accessed site, and the to-be-accessed site is an edge cache node that is selected by the authoritative domain name server from a plurality of sites of the to-be-accessed domain name and that corresponds to the scheduling information; and constructing , by the HTTPDNS server, an HTTP reply packet based on the DNS reply packet, and sending the HTTP reply packet to the terminal device, wherein the HTTP reply packet carries the IP address of the to-be-accessed site, wherein the scheduling information of the HTTP request packet and the DNS query packet comprises a geographical location of the terminal device, and the to-be-accessed site is an edge cache node that is selected by the authoritative domain name server from the plurality of edge cache nodes of the to-be-accessed domain name and that corresponds to the geographical location of the terminal device, characterized by the geographical location comprising one of the following: longitude and latitude, an administrative area, a street. <EOS>