当前位置: 首页 > news >正文

网络推广的网站中融木业网站是那个网站做的

网络推广的网站,中融木业网站是那个网站做的,WordPress情侣网站,拓者设计吧注册码前面的博客中#xff0c;提到过很多次#xff0c;浏览器作为应用程序#xff0c;本身是不具备向网络中发送网络请求的能力#xff0c;要委托操作系统的内核协议栈来完成。协议栈再调用网卡驱动#xff0c;通过网卡将请求消息发送出去#xff0c;本篇博客就来探讨一下这个… 前面的博客中提到过很多次浏览器作为应用程序本身是不具备向网络中发送网络请求的能力要委托操作系统的内核协议栈来完成。协议栈再调用网卡驱动通过网卡将请求消息发送出去本篇博客就来探讨一下这个过程是如何实现的。 浏览器与WEB服务器的交互从总体上看可以分为4个阶段具体如下 创建阶段 创建客户端套接字连接阶段 客户端套接字与服务端套接字建立连接通信阶段 客户端和服务端的收发消息断开阶段 断开连接并删除套接字的过程 虽然我们说浏览器是委托内核协议栈完成了收发消息的动作但实际上他们两个并不是直接交互的和之前DNS解析器一样浏览器会调用操作系统Socket库中的很多程序组件依次来完成上面提到的4个阶段所以Socket库起到非常重要的作用。 1. 创建套接字阶段 服务端程序在启动之初会创建一个ServcerSocket实例然后与程序的端口关联起来然后监听端口等待客户端连接请求的到来。 客户端创建套接字的操作非常简单只要浏览器调用一下Socket库中的socket()程序组件就可以了和之前说的调用DNS客户端组件一样。接下来socket()组件就会帮助我们创建好套接字并且把套接字描述符返回套接字描述符和套接字一一对应可以理解为套接字的ID因为在计算机中可能用多个应用程序都会发起网络请求所以会存在很多的套接字。返回的套接字描述符会被保存在内存中。 描述符 socket(使用IPv4, 流模式, ...); 客户端在创建套接字之后就可以拿着此套接字和服务端建立连接进行收发数据的操作。每次客户端只要出示套接字描述符协议栈就可以找到对应的套接字来处理消息了。 2. 客户端和服务端套接字连接阶段 接下来我们需要委托协议栈来将客户端创建的套接字和服务器那边的套接字连接起来这一步是借助于Socket库中的connect()组件来实现的这个方法有三个入参分别是 描述符就是上面提到的创建套接字阶段返回的描述符 服务器IP地址这一步已经经过前面的DNS解析器拿到了 端口号为了找到服务端应用程序的套接字 这里需要说明一下套接字描述符只属于客户端或者服务端机器的两者之间并不知道对方的套接字描述符是什么所以通过描述符来识别对方机器上的套接字是没有意义的。 通过调用connect()组件协议栈就会执行连接操作此时客户端和服务端的套接字就连接在一起了可以想象成一条虚拟存在的管道流。当连接成功后协议栈就会分别将对接对方的IP地址和端口号信息保存在自己的套接字中方便以后的数据收发操作。 connect(套接字描述符, 服务器IP地址, 服务器端口号, ...); 3. 收发消息的通信阶段 当双方的套接字建立连接后下面的事情就是把数据放入到套接字中协议栈就会执行发送和接收的操作。同理应用程序也是借助于Socket库中的组件来完成这些动作具体过程如下 发送消息 浏览器解析URL生成的HTTP消息就是我们要发送的数据此时浏览器调用write()组件来完成数据的发送由于连接阶段我们的套接字中已经知道了服务端的IP地址和端口号所以在识别出通讯对象后数据就能发送到指定的服务器程序。 write(套接字描述符, 发送数据, 发送的数据长度, ...); 接收消息 接收消息的操作是通过调用read()程序组件委托协议栈来完成的调用read()函数时需要指定服务器响应消息存放的内存地址这一地址就是接收缓冲区而且这块内存地址是属于应用程序浏览器的因此消息就相当于直接转交给了浏览器。 read(套接字描述符, 接收缓冲区, ...); 4. 断开连接阶段 当数据收发的过程结束我们就需要调用Socket库中的close()组件来完成断开阶段操作了最终管道断开套接字本身也会删除套接字其实本身是一块内存。 Web使用的HTTP协议归档当web服务器响应结束后应该主动执行断开操作之后传达到客户端客户端的套接字也会进入到断开阶段。之后当浏览器再调用read()组件执行接收数据时read()组件会告诉应用程序数据收发操作已结束连接已经断开浏览器得知后也会调用close()进入断开阶段。 HTTP协议将文档、图片视频等都会当成单独的对象来处理每获取一次数据产生一次请求就意味着创建连接、收发消息、断开连接的过程对于同一台服务器来说显然效率是很低的。所以在后来的HTTP1.1版本中提供了支持一次连接收发多个请求和响应的方法这样在一次连接后等所有的数据请求完成后浏览器才会主动触发断开连接的操作。 最后总结一下虽然我们探讨的事浏览器和服务端程序的消息收发过程但是中间离不开Socket库的各种程序组件、内核协议栈、网卡驱动程序、网卡只有他们相互配合数据才能在网络中流动起来。
http://www.hkea.cn/news/14551273/

相关文章:

  • 建设官方网站需要那些人员做销售在那个网站找
  • ie常用网站设置一二三年级手工
  • 外贸怎么上国外的网站动漫设计与制作主修课程
  • 网站优化排名如何做优化制造业布局
  • 做网站 图片侵权搜索关键词推荐
  • 潍坊百度网站建设快速网站开发框架
  • 如何借助织梦制作一个简单的网站企业官网门户网站管理系统
  • 网站建设费用做什么科目北京网架公司
  • 服务器硬件影响网站速度网站右侧浮动导航
  • 网站开发费用怎么账务处理佛山十大进出口贸易公司
  • 网站正在建设中的素材动图百度联盟是什么
  • 江苏华江建设集团有限公司网站群辉怎么做视频网站
  • 网站文章不显示长春网络公司排名
  • 网站制作作业百度指数免费添加
  • 安阳网站推广做老电影网站侵权吗
  • 柳市网站建设淘宝网站是语言用什么做的
  • 网站做不做账电子商务ppt课件
  • 怎么做全息网站女孩短期技能培训班
  • 芷江建设工程招投标网站网上推广产品哪个网好
  • 凡科网站模板下载大连网页制作wordpress
  • 提交网站给百度大前端Wordpress图片主题
  • 确山网站建设网页设计教程 模仿
  • 椒江街道招聘建设网站瑞安网站设计
  • 外包服务网站排名市场监督管理局12315
  • 移动端网站交互效果最好的做网站 需要买云服务器吗
  • 做网站放太多视频软件外包行业
  • 上海比较好的网站建设公司如果让你建设一个网站
  • 网站建设主要问题及建议潮州专业网站建设报价
  • 网站建设培训资料专注网站搭建的公司
  • 本地集团网站建设电子商务网站建设的意义是什么