网络是怎么连接的?(进阶一)

Posted tangjiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络是怎么连接的?(进阶一)相关的知识,希望对你有一定的参考价值。

网络术语:怪杰Resolver(解析器) ,解析器其实就是一段程序,在操作系统的Socket库中。

网络请求过程:

客户端(TCP/IP,网卡)——>集线器——>路由器(接入网)——>电话局(大容量光纤)——>网络运行商——>电话局(接入线)——>防火墙——>缓存服务器——>Server服务器(web服务器,TCP/IP)

1,为什么file://开头的URL不能进行ajax请求呢?

因为file://开头的URL访问时不使用网络,像http: ftp:等有网路协议的才能进行网络请求。

一般的URL地址:协议名://web服务器名/目录名/...文件名

后面的/目录名/...文件名 表示数据源的路径

2,用户在浏览器中输入一个URL后,后面发生了什么?

(1)对URL进行解析

浏览器解析网址生成HTTP消息,委托操作系统来发送到网络的,DNS客户端(DNS解析器)进行域名解析,查询IP地址,主要调用操作系统中的Socket库【用于调用网络功能的程序组件集合,浏览器会使用Socket库中的解析器,进行域名查询IP地址】,而DNS服务器【Domain Name System,域名服务器】,是将服务器名称和IP地址进行关联的服务器,还将邮件地址和邮件服务器关联。

DNS域名解析:web浏览器——>Socket库——>操作系统内部的协议栈(协议驱动,TCP/IP驱动,具有使用网络收发数据功能)——>网卡——>DNS服务器

域名解析成功后,返回的IP地址走上面箭头相反的方向,从DNS服务器返回到web浏览器。而DNS还具有缓存的功能,会记住之前查询的域名。

而自己本机去查询哪个DNS服务器都是事先设置好的,不需要再查。

sfim-sms-bg.sf-express.com,前面那个是子域,后面的sf-express.com是公司的域。

www.nikkkebp.co.jp  前面的www是服务器的名称

局域网:其实就是TCP/IP思路,比如你和你同事的电脑,这些都是子网,你们的主机号类似于XX室,上面有集线器将你们的主机连接在一起,这个集线器就是XX号,查询你的主机就是XX室XX号,分层设计思路,而一个大的路由器把各个集线器连接起来就构成了一个大的局域网,当然大公司可能有个大的路由器,下面又有好多小的路由器通过集线器连接,一层一层向下分发,构成局域网。

IP地址可以判断出访问对象服务器的位置,但是如果使用虚拟主机,就无法通过IP地址访问。

【委托协议栈发消息】

创建套接字——>管道连接到服务端的套接字——>收发数据——>断开管道,删除套接字

IP地址是用来区分网络中各个计算机而匹配的数值,是分配给网络硬件的,如果一个设备中安装了多个网络硬件,则会有多个IP地址,没毛病!而端口号是用来识别计算机上具体的套接字的,负责收发消息的是:协议栈,网卡驱动,网卡。

(2)使用HTTP协议访问WEB服务器

 题目:

1. http://www.nikkeibp.co.jp/ 中的http 代表什么意思?
2. 下面两个网址有什么不同?
a. http://www.nikkeibp.co.jp/sample
b. http://www.nikkeibp.co.jp/sample/
3. 用来识别连接在互联网上的计算机和服务器的地址叫什么?
4. 根据Web 服务器的域名来查询IP 地址时所使用的服务器叫什么?
5. 向DNS 服务器发送请求消息的程序叫什么?

【完】

记录下自己的笔记,省得哪天本子找不到了,可以看看网站内容,感觉自己已经是个重度拖延症患者了,但是还想自我拯救下。

答案:

1,HTTP协议

2,a中的sample代表文件名,b中的sample代表目录名

3,IP地址

4,DNS服务器

5,解析器

 








以上是关于网络是怎么连接的?(进阶一)的主要内容,如果未能解决你的问题,请参考以下文章

Python进阶开发之网络编程,socket实现在线聊天机器人

5第八周 - 网络编程进阶 - Python 连接 Mysql

iOS进阶(网络请求)

9.8 js进阶总结3

python进阶之Socket 网络编程

java进阶--java网络编程