基于MFC的网络浏览器Demo

最近在接触C++的HTTP编程,做了一个网络浏览器,仅仅是一个demo版本的,呵呵。下面先介绍一下HTTP的工作原理

HTTP

在介绍HTTP原理之前,不得不提及一位有关Internet的大师级人物,英国计算机科学家蒂姆·伯纳斯·李(Tim Berners-Lee),他发明了web浏览器,使得Internet的应用变得非常广泛,Internet的发展也就进入了万维网时代。万维网(World Wide Web,WWW或3W)是基于http协议的一种网络应用,其主要组成有两部分:一是组成万维网的超链接文档(HTML文档);二是超链接文档的传输协议,即HTTP(Hypertext Transfer Protocol)。在Internet中工作的主机,当要访问万维网的某个网页时,大致经历以下几个步骤(该过程对用户是透明的):

  1. 用户首先要确定网页文件所在的URL(统一资源定位符),由URL唯一确定用户要访问的文件在Internet上的位置;
  2. 浏览器向DNS(域名服务器)发出请求,要求把相应的域名转化为IP地址;
  3. DNS进行查询后,向浏览器发出应答,回复相应的IP地址;
  4. 在查询得到该网页所在的服务器IP后,就进入HTTP的工作阶段。浏览器向该IP地址的主机发出与端口80建立一条TCP连接的请求(端口80是服务器提供web服务的默认端口);
  5. 连接建立成功后,浏览器发出一条请求传输网页的HTTP命令。格式为GET/待访问的网页文件;
  6. 当改域名的服务器收到请求后,向浏览器发送相应的待访问的网页文件;
  7. 发送完成后,由服务器主动关闭TCP连接,至此,HTTP的工作过程结束;
  8. 浏览器显示收到的相应网页文件;若改网页文件中包含图片,则还要与服务器再次建立一个TCP连接以下载图片。

在上述的工作步骤中,对浏览器来说最关键的问题是如何把HTML文档下载到本地的主机上,该任务是由HTTP来完成的,可以认为,HTTP是Web服务的基础。
HTTP即超文本传输协议,1990年提出,目前万维网上使用的主要版本是HTTP/1.0和HTTP/1.1。HTTP工作于客户端-服务器模式(C-S模式),浏览器是客户端,接收连接并对请求返回信息的应用程序是Web服务器。在实际工作时,浏览器相当于一个用户代理(User Agent),用户要求完成的各种操作均由它向Web服务器提出,并处理又服务器返回给客户端的响应。
下面介绍一下另外一个概念:URL

URL

URL即统一资源定位符(Uniform Resource Locator,URL),是用来表示从Internet上得到资源位置的访问这些资源的方法。URL给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、替换等URL相当于一个文件名在网络范围的扩展,可以认为是与Internet相连的机器上的任何可访问对象的一个指针,其组成有如下四部分:

<协议>://<主机>:<端口>/<路径>

呵呵,在进入开发之前,先介绍一下MFC对浏览器开发提供的技术支持。

MFC提供的技术支持

浏览器(Browser)是万维网的客户端浏览程序,可以向Web服务器发送各种请求,并对服务器返回的超文本信息和各种媒体数据格式进行解析、显示和播放。目前,PC上常用的浏览器有IE、Mozilla的Firefox、360安全浏览器、腾讯TT浏览器等。从软件开发的角度来看,可以认为浏览器软件的构成有如下两部分:Socket程序和HTTP协议
MFC(Microsoft Foundation Classes,微软基础类库,一种应用框架)在Windows API的基础上封装了一组C++类,以C++类库的形式构建了面向对象的框架。自然对于浏览器的开发,

  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值