万维网服务器

一、域名解析gethostbyname函数

struct hostent {
    char  *h_name;            /* 官方域名 */
    char **h_aliases;         /* 别名*/
    int    h_addrtype;        /* 地址族(地址类型) */
    int    h_length;          /* 地址长度 */
    char **h_addr_list;       /* 地址列表 */
}
#define h_addr h_addr_list[0] /* 实现向后兼容性 */

主机结构在 中定义如下:

结构的成员包括:

h_name :主机的正式名称

h_aliases:主机的备用名称数组,以 NULL 结尾指针

h_addrtype:地址类型;(AF_INETAF_INET6

h_length:地址的长度(以字节为单位)

h_addr_list:指向主机网络地址的指针数组(按网络字节顺序),由 NULL 指针终止

h_addr h_addr_list:中的第一个地址,以实现向后兼容性

二、HTTP 的操作过程

万维网服务器_第1张图片        HTTP 规定:在 HTTP 客户与 HTTP 服务器之间的每次交互,都由一个 ASCII 码串构成的请求和一个类似的通用互联网扩充,即“类MIME (MIME-like)”的响应组成。

        HTTP 报文通常都使用 TCP 连接传送。

你可能感兴趣的:(网络,tcp/ip,网络协议)