摘录-浏览器如何获取网页

  我们把互联网想象成一个邮局:

  当你想给你的朋友写信时,首先要把内容写在信纸上,然后在信封上写上地址,再把信纸装进信封。

  当你把信送到邮局,邮件分拣机会根据邮编和地址来判断你的朋友住在哪里。如果他住在一栋有很多房间的公寓大楼里面,邮局会把信件投递到大楼的前台,然后大楼的工作人员会根据房间号再次进行分拣。

  互联网的工作原理和上面的过程很类似。不同的是,现实世界中是由街道连接起来的楼房和公寓,在互联网世界中被路由器和网线连接起来的计算机所取代。每一台计算机都有一个唯一的地址,让网络可以定位到它。

  多个公寓房间共享一个街道地址,与此类似,多台计算机也可以共享一个网络或路由器。比如,正在使用星巴克提供的免费wifi时,多台计算机会共享一个公共IP地址。尽管如此,你的计算机依然可以通过路由器分配的内网IP地址被单独访问到,路由器好比公寓大楼的工作人员,而内网IP好比房间号。

    IP是互联网协议(Internet Protocol)的缩写。IP地址是为每个接入到网络中的设备分配的数字标识符。计算机、打印机甚至手机都有自己的IP地址。

    目前有IPv4和IPv6两种主要的IP地址类型,普遍使用的是IPv4地址,例如:192.168.1.1这种形式,而IPv6地址是2001:0db8:0000:0000:ff00:0042:8329这种形式的。

  当你打开一个浏览器,并在地址栏输入http//google.com后,浏览器会“询问”网络(更准确的说,是“询问”DNS服务器)goole.com对应的IP地址是什么?如果DNS服务器知道你要找的IP地址,就会将其结果返回;如果不知道,它会将请求转发给其他DNS服务器,直到某一台DNS服务器上找到对应的IP地址记录。在终端输入下列指令,可观察DNS服务器的响应内容:

  $dig goole.com

    如果你是使用Mac操作系统,可以使用Terminal终端程序,它通常储存在/Applications/Utilities目录中。如果使用的是Windows操作系统,打开开始菜单,在运行中输入cmd就可以打开终端了。

  DNS服务器返回了你想要的计算机的IP地址(例如找到了goole.com对应的IP地址)后,它就会向这个IP地址对应的计算机请求你要访问的页面。

    每一个路径对应的网页都由不同的HTML文档组成(也有一些例外)。例如,当浏览器请求http//google.com或http//google.com/images时得到的HTML文档是不一样的。

  现在计算机已经知道哪个IP地址可以访问到http//google.com它会向Google的服务器请求显示这个页面所需的HTML。

  当远程服务器吧HTML文档发送回来后,浏览器会对文档进行渲染。渲染时就是通过一系列操作,使HTML页面按照设计之初的既定方式显示。

时间: 2024-10-22 23:58:13

摘录-浏览器如何获取网页的相关文章

JS获取网页窗口大小、浏览器窗口大小、页面元素位置

来自 阮一峰的网络日志>>http://www.ruanyifeng.com/blog/2009/09/find_element_s_position_using_javascript.html 一.两个概念 网页大小:一张网页的全部面积,就是它的大小.通常情况下,网页的大小由内容和CSS样式表决定. 浏览器窗口大小:浏览器窗口的大小,则是指在浏览器窗口中看到的那部分网页面积,又叫做viewport(视口). 很显然,如果网页的内容能够在浏览器窗口中全部显示(也就是不出现滚动条),那么网页的大

在python获取网页的代码中添加头信息模拟浏览器

为什么要添加头部信息,因为有时候有些网页会有反爬虫的设置,导致无法获取正常的网页,在这里,在代码的头部添加一个headers信息,模拟成浏览器去访问网页. 没有添加头部信息的代码 import urllib2 url = "http://blog.51cto.com/lsfandlinux/2046467" file = urllib2.urlopen(url) html = file.read() print html 接下来添加头部信息,首先在浏览器打开百度一下,然后检查网页的头部

浏览器插件获取网页内容

void GetHtmlContent() { //m_Explorer HRESULT hr; LPDISPATCH pDisp; IHTMLDocument2* phd;//IHtmlDocument2接口指针 IHTMLElement* pBody;//网页中的元素 pDisp = m_Explorer.get_Document(); hr = pDisp->QueryInterface(IID_IHTMLDocument2, (LPVOID*)&phd); pDisp->Rel

C#获取网页中某个元素的位置,并模拟点击

我们在开发中,往往要得到网页中某个元素的位置,并且点击它.要模拟一次鼠标点击并不难,只要调用一个API就行了,关键就是怎么样得到这个元素的位置,还有判断是否要滚动滚动条,要滚动多少行能让元素显示出来.当然我们可以动态改变它的CSS,让它在特定的位置显示出来,但这个方法只对比较简单的网页有效. 那我们怎么才能得到网页的位置呢,首先我们来看一张图片 从这里我们可以看到五个offset的属性,这里我们主要利用offsetparent, offsetleft 和offsettop,我们用offsetpa

【转】如何在Windows+VS2005使用最新静态libcurl 7.35.0获取网页数据,支持HTTPS

地址: http://blog.csdn.net/hujkay作者:Jekkay Hu([email protected])关键词:Windows,curl,ssl,  visual c++ 2005, libcurl, https,网页抓取时间: 2014/2/18 1. 概述 由于Curl提供强大的网络功能,支持HTTP,HTTPS, DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP

JS获取网页宽高方法集合

JS获取网页宽高等方法的集合:document.body.clientWidth - 网页可见区域宽document.body.clientHeight - 网页可见区域高 document.body.offsetWidth - 网页可见区域宽,包括边线和滚动条的宽document.body.offsetHeight - 网页可见区域高,包括边线和滚动条的高[FF,chrom下是整个页面高,IE opera 下正常] document.body.scrollWidth - 网页总宽documen

telnet建立http连接获取网页HTML内容

利用telnet可以与服务器建立http连接,获取网页,实现浏览器的功能. 它对于需要对http header进行观察和测试到时候非常方便.因为浏览器看不到http header. 步骤如下: telnet www.csua.berkeley.edu 80 输入GET /officers.html HTTP/1.0 并2次回车. 这时就应该可以看到http response了,包括了header和body. 因为window自己带到telnet在输入内容的时候看不到输入的内容,可以下载putty

C# HttpWebRequest 绝技 根据URL地址获取网页信息

如果要使用中间的方法的话,可以访问我的帮助类完全免费开源:C# HttpHelper,帮助类,真正的Httprequest请求时无视编码,无视证书,无视Cookie,网页抓取 1.第一招,根据URL地址获取网页信息 先来看一下代码 get方法 复制代码 publicstaticstring GetUrltoHtml(string Url,string type) { try { System.Net.WebRequest wReq = System.Net.WebRequest.Create(U

[原创]利用爬虫技术获取网页数据,以及想要的指定数据

最近在公司做个系统,由于要获取网页的一些数据,以及一些网页的数据,所以就写的一个公用的HttpUtils.下面是针对乌云网我写的一个例子. 一.首先是获取指定路径下的网页内容. public static String httpGet(String urlStr, Map<String, String> params) throws Exception { StringBuilder sb = new StringBuilder(); if (null != params &&