软件架构
C/S客户端/服务器端
B/S浏览器/服务器
资源分类
静态资源:所有的用户访问后,得到的结果都是一样的静态资源可以直接被浏览器解析
动态资源:每个用户访问相同资源,得到的结果可能不一样.动态资源被访问后,需要先转换为静态资源,再返回给浏览器
网络通信三要素
- IP:电子设备在网络中的唯一标识
- 端口:应用程序在计算机的唯一标识
- 传输协议:规定数据传输的规则
HTTP协议
HTTP这是一种通信协议,指架构在TCP/IP之上应用层的一种协议,通信协议基本上就是两台计算机间对谈沟通的方式. 浏览器跟Web服务器之间使用的沟通方式,则是HTTP.
特性:
- 基于请求(Request)/响应(Response)模型
客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户端信息和内容的类MIME的消息结果。服务器则返回一个状态行作为响应,内容包括消息协议的版本、成功或失败编码加上包含服务器信息、实体元信息以及可能的实体内容。
- 无状态通信协议
同一用户在第二次访问同一台服务器上的页面时,服务器的响应与第一次被访问时相同 - 无连接
虽然HTTP是基于TCP的,但是HTTP本身是无连接的。客户端和服务器的链接是基于一种请求应答模式。及客户端和服务器建立一个链接,客户端提交一个请求,服务器端收到请求后返回一个响应,然后二者就断开链接
上网的流程
比如我们点击了某个网页上的一个链接,指向百度其URL是
http://www.baidu.com
- 浏览器分析链接指向页面的URL
- 浏览器向DNS请求解析
http://www.baidu.com
的IP地址 - DNS系统解析出百度的服务器的地址是
14.215.177.38
- 浏览器与服务器建立TCP连接
- 浏览器发出取文件命令:
GET /index.html
- 服务器
http://www.baidu.com
给出响应,把文件index.html返回给浏览器 - 释放TCP连接
- 浏览器解析并显示index.html的内容