在浏览器端生成HTTP协议之后,虽然浏览器能够解析URL,但是浏览器并不具备将消息发送到 *** 中的功能,所以浏览器需要委托操作系统中一个叫做协议栈的程序发送请求,目前为止我们还有一件事需要做,那就是查询服务器对应的IP地址,IP地址由四组8比特(1字节)的数字组成,因为人们很难记住这些ip地址,所以就产生了ip地址和域名并用的情况。所以我们需要用到DNS解析域名,但是系统怎么知道去哪里找DNS服务器呢,在windows系统中实际上设置了DNS服务器的地址,因为DNS概念还要涉及到根服务器所以简单表述,不在做过多的解释。
DNS客户端(UDP协议)
4.收发消息
当浏览器委托协议栈查询到服务器IP地址之后,我们就可以收发消息了,收发操作大概分为四个部分
4.1:创建套接字(socket)
上面说到协议栈查询了域名对应的IP地址后,接着协议栈创建套接字,并申请一块内存空间,用来存储IP地址,端口号,通信操作状态,以及代表本次请求的描述符等。比如说请求发送了很久没有回应,这个时候我们不能一直等待,需要一段时间后重发。协议栈需要这些状态来判断它的进一步行动。
4.2:连接(服务器和客户端相互感知对方的存在,并初始化控制信息)
当我们创建完成套接字(socket)之后,开始尝试连接,何为连接?简单来说就是双方交互信息,你的ip地址和端口号,我的ip地址和端口号,我的syn,ack,seq。你是否收到了我的信息等,俗称三次握手过程如下:
三次握手过程
之一次握手:Client将标志位SYN置为1,随机产生一个值seq=x,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。
第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=x+1,随机产生一个值seq=y,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。
第三次握手:Client收到确认后,检查ack是否为x+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=y+1,并将该数据包发送给Server,Server检查ack是否为y+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。
王者荣耀熟练度可以领取铭文碎片奖励,包括绿色熟练度和蓝色熟练度两种,但是玩家最近进去领取界面会提示活动服务器优化,暂时关闭奖励领取的提示,这个什么时候重新开放呢?小编下面就给大家分享一下铭文碎片领取攻...
求生之路2联机教程?求生之路2怎么联网玩?求生之路是一款非常棒的单机游戏,不过可以在局域网还有网上对战,但是很多玩家都不知道怎么去联网玩,那么这里大致说一下! 求生之路2如果是局域网玩的话可以打开控...
一直以神器著称的快播正式关闭,其中更是以关闭QVOD服务器产生巨大影响。根据相关报道分析,自此,无数宅男的神器快播神力大大减弱,盗版视频界从此再无大佬,这样标志性的决定事件必将记录在中国互联网史上,和...
一个怎么找黑客 1、黑客乌克兰局势找黑客又不稳定,一个接单入侵服务器比如你自想做免杀最好汇编要懂,当詹姆斯的入侵行为被黑客发现后,几分钟后,寻找黑客文件和打印共享。20,您否也因为不太了解网站技术的问...
网站做好后,如何把源码程序上传到服务器呢?,主流还是用ftp工具进行上传,学会ftp工具上传源码,这样对以后网站更新、图片替换,有很大的帮助。ftp下载工具:ftp下载 美达网络教您用ftp工具进行...
WEB服务器简单的来说就是网站服务器,它的作用就是向浏览器等Web客户端提供文档,放置网站文件,让可以访问网络的用户都可以进行访问,也可以放置文档让用户下载。目前使用人数最多的三个Web服务器是Apa...