详解HTTP--网络基础(一)
知识点的梳理:
-
WWW这一名称,是web浏览器当年用来浏览超文本的客户端应用程序时的名称。现在则用来表示这一些列的集合,也可称为web。
-
使用HTTP协议访问Web
-
访问网站发生了什么?
- Web使用HTTP协议作为规范,完成从客户端到服务器等一系列运作流程。Web是建立在HTTP协议上通信的。
-
请求与响应:
-
前提:一个请求发出,一定有且只有一个响应返回
- 浏览器发送给服务器的叫做请求;
- 服务器返回给浏览器的叫做响应;
-
-
网站的登陆流程
-
Web浏览器根据地址栏中指定的URL,从Web服务器端获取文件资源(resource),Web服务器收到请求~解析请求,给予响应。Web浏览器收到响应,解析响应并显示网页;
- 注意:这种通过发送请求获取服务器资源的Web浏览器等,都可被称为客户端(client);
-
- 输入用户名密码后,浏览器会再次向服务器发出请求,并将用户输入的用户名密码发送给网站服务器,网站服务器让负责处理登陆请求的服务器程序来处理这个登陆请求。之后将判断结果返回给浏览器
-
-
总结:
-
上网就是从服务器向浏览器传送HTML格式描述的网页,每次请求都带回来新的页面(页面中的图片,JS,CSS等,并不在一次请求中,而是单独的多次请求)
-
-
什么是请求处理响应?
-
短连接与长连接:
- 短连接:客户端只有向服务器发请求的时候才建立连接,服务器请求返回之后连接断开。由于客户端不是"占着茅坑不拉屎",所以能够受理更多的客户端连接。由于每次请求都要建立连接。所以效率比较低。
-
长连接:客户端和服务器端长期保持连接。java-->mysql。效率高,因为不需要每次请求都建立连接。一台服务器能够承受同时连接的客户端数量有效。
-
-
服务器知道浏览器什么时候关闭吗?
- 除非浏览器请求,否则服务器无法主动向浏览器发送数据,因为浏览器和服务器之间是短暂的网络连接。所以服务器不知道浏览器什么时候关闭
-
-
HTTP的诞生
-
HTTP诞生在1989年3年
- 诞生之前的基本理念:借助多文档之间相互关联形成的超文本,连成可相互参阅的WWW(万维网);
-
现在已经提出的3项WWW构建技术
- 把SGML(标准通用标记语言)作为页面的文本标记语言的HTML(超文本标记语言);
- 作为文档传递协议的HTTP;
- 指定文档所在地址的URL(统一资源定位符);
-
HTTP的版本
-
HTTP/0.9
- HTTP于1990年问世。现在的HTTP其实包含HTTP1.0之前的版本,因此被称为HTTP/0.9;
-
HTTP/1.0
- 该版本在1996年5月被公布;
- 1997年1月公布的HTTP/1.1是目前主流的HTTP协议版本;
-
HTTP/2.0
- 虽然已经公布,但覆盖率很低;
-
-
-
与HTTP关系密切的协议:IP,TCP和DNS
-
负责传输的IP协议
- IP网际协议位于网络层,它也是TCP/IP中的IP;不要弄混"IP"和"IP地址","IP"其实是一种协议的名称;
-
IP协议的作用
- 将各种数据包传送给对方。要保证传输过程的确定性,需要满足一些条件,其中IP地址和MAC地址比较重要;
- IP地址:指明了节点被分配到的地址;可变;可以与MAC地址进行配对;
- MAC地址:是指网卡所属的固定地址;基本不会更改;
-
使用ARP协议凭借MAC地址进行通信
- IP间的通信依赖MAC地址。在网络上,通过可能会经过多台计算机和网络设备中转才能连接到对方。在进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标;这是会采用ARP协议。
- ARP是一种用以解析地址的协议,根据通信方的IP地址可以反查出对应的MAC地址;
-
路由选择
- 在传达通信目前的中转过程时,计算机和路由器等网络设备只能获悉很粗略的传输路线。这种机制称为路由选择。
-
图示
-
确保可靠性的TCP协议
-
TCP位于传输层,提供字节流服务;
- 字节流服务:为了方便传输,将大块数据分割成以报文段为单位的数据包进行管理。而可靠的传输服务是指,能够把数据准确可靠地传给对方;
- TCP协议传送大数据会把数据分隔,而且TCP协议能够确认数据最终是否送达到对方;
-
TCP三次握手:
- TCP把数据包送出去后,通过三次握手来保证数据传送的正确性。握手过程使用了TCP标志,SYN,ACK;
- 发送端首先发送一个带SYN标志的数据包给对方。接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达确认信息。最后,发送端再回传一个带ACK标志的数据包,代表握手结束;
-
握手过程中某个阶段如果中断,TCP协议会再次以相同的顺序发送相同的数据包;
-
- 当然TCP协议还有其他手段来确保通信的正确性;
-
-
-
负责域名解析的DNS服务
-
位于应用层的协议。它提供了域名到IP地址之间的解析服务。
- DNS协议可通过域名查找IP地址,或逆向从IP地址反查域名的服务;
-
- 计算机除了IP地址外,还可以被赋予主机名和域名,如:www.hackr.jp
- 用户通常使用主机名或域名来访问对方的计算机,并不直接通过IP地址访问;所以,要让计算机识别域名或主机名,就需要DNS来帮忙;
-
-
-
各种协议与HTTP协议的关系
-
通过下图,来了解IP协议,TCP协议和DNS服务在使用HTTP协议的通信过程中各自发挥的作用
-
简单的把一次通信的过程分为三个阶段:客户端发出,线路中传输,服务端响应。而互联网中的设备要完成通信必须基于双方都能识别的规则,如通信的语音,格式,硬件和操作系统等等,这些规则的集合统称为TCP/IP 协议族。 大家基于同一套规则,才能好好玩耍
-
-