读书笔记—《网络是怎么连接的》
绪论
浏览器和服务器的关系
- 浏览器向服务器发出请求
- 浏览器:你好你好,我想要xxx网页的信息。(传送请求的过程)
- 服务器:好嘞好嘞,这就发给您嘞!(响应的过程)
传递的过程
- 服务器向浏览器传递信息
- 服务器:你好你好,我把你想要的信息切割好并把它们放在一个一个的包(Packet)里面,这就给你送过去,当然中间会经过一些中转站(比如交换机和路由器),但不用担心这些包裹会不会迷路,我在这些包裹的头部标注好了地址信息(目的地址)。
协议栈—小秘书
- 浏览器:哎呀哎呀,我这收到的信息有点乱,谁能帮我处理一下?
- 协议栈:早说嘛,交给我吧!
- 打包消息
- 打上目的地
- 欸!这是不是写错了。难怪通信通不了,我重新写一下再发送。
- 这个包发的太快了,那个包又发的太慢了,该管管,统一一下步伐吧。
- 收工,扔给网卡吧!
网卡
- 这不好传到网络吧,让我先把换成电信号,再发出去。
第一章 浏览器生成信息
1.1.1探索之旅从输入网址开始
- 应用程序(包括浏览器)并不是自己亲身去操控网络,而是拜托操作系统来控制网络
URL:Uniform Resource Locator
统一资源定位符,俗称网址。- URL(网址)有各种花样的开头,有的是ftp,有的是file,有的是mailto,这些开头标志着浏览器将采用怎样的访问方法去访问什么类型的服务器。
- 比如访问web服务器会采用http协议(
Hypertext Transfer Protocol
)
1.1.2浏览器先要解析URL
- 浏览器通过解析URL得知需要通过怎么样的协议,去拜访哪个服务器,并在服务器下的某个路径下提取某个特定的文件
- 格式:
协议+//+web服务器名+/+(目录名+/...+文件名)
1.1.3给URL的结尾安上了/
-
格式:
协议+//+web服务器名+/+目录名+/...+目录名+/
-
这种情况下,浏览器并不会是一头迷失在文件夹里的无头苍蝇,它会根据预先设定好的情况找到相应的文件,比如
index.html
和default.html
1.1.4HTTP的基本思路
cgi
程序文件可以存放在服务器的下面,通过http
的GET方法可以调用出CGI
函数,并获取其返回值。
http的主要方法
- 在
http1.0
版本存在GET,POST,HEAD方法,还有未完备的PUT,DELETE方法,在http1.1
版本中新添了OPTIONS,TRACE,CONNECT方法和进一步完善了PUT和DELETE方法。
GET和POST方法
- GET方法,获取URL指定的信息,如果说URL指向的网页文件,则返回该网页文件的内容,如果说URL指向的是
CGI程序
文件的话,那么将调用这个程序,并得到其返回值。 - POST方法,从客户端向服务器发送数据(比如用户的账户名,密码等等)
1.2向DNS服务器查询web服务器的IP地址