总览
本文总览介绍客户机与服务器的通信过程
一、HTTP报文生成(生成)
URL
1.格式:访问协议+服务器域名+文件路径名
http协议
1.http消息格式
[ 请求消息 ]
请求行:<方法><http版本> + 消息头 + 消息体
[ 响应消息 ]
状态行:<http版本><状态码><状态短语> + 消息头 + 消息体
2.含附加信息的网页申请
附加信息(如:图片)需要单独请求访问,客户端需要发送多个http报文。
二、查询DNS服务器(解析)
1.域名 -> IP
DNS服务器ip地址预先已经设置好
[ DNS客户端 ]
gethostbyname(" 域名 ");
[ DNS服务器 ]
返回域名对应的IP地址
2.DNS服务器基本工作
1.层次化的DNS部署
2.查询消息:域名+class+记录类型
三、委托协议栈发送消息(发送)
[ 过程 ]
创建套接字 >> 连接 >> 通信 >> 断开连接
[ 服务器 ]
step1:创建套接字 socket()
step2:绑定端口号 bind()
step3:监听,等待连接 listen()
step4:接受连接 accept()
step5:接收消息 recv()
step6:发送消息 send()
step7:断开连接 close()
[ 客户端 ]
step1:创建套接字 socket()
step2:连接服务器 connect()
step3:发送消息 send()
step4:接收消息 recv()
step5:断开连接 close()