目录
服务器
就是计算机,但是与普通计算机有区别: 保密性/安全性/稳定性的不同;
服务器分硬件和软件,它们一起组成服务器;
响应方
浏览器
负责发送请求,请求服务器上的内容并显示出来.
HTTP协议
全称 HyperText Transfer Protocal
作用: 规定前后端之间的数据传输的规则
HTTP
是一种无状态 (stateless) 协议,HTTP
协议本身不会对发送过的请求和相应的通信状态进行持久化处理。这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的事务, 提高效率。HTTP 协议主要由三大部分组成:
起始行(start line):描述请求或响应的基本信息;
头部字段(header):使用 key-value 形式更详细地说明报文;
消息正文(entity):实际传输的数据,它不一定是纯文本,可以是图片、视频等二进制数据。其中起始行和头部字段并成为 请求头 或者 响应头,统称为 Header;
消息正文也叫做实体,称为 body。HTTP 协议规定每次发送的报文必须要有 Header,但是可以没有 body,也就是说头信息是必须的,实体信息可以没有。
而且在 header 和 body 之间必须要有一个空行(CRLF)。
HTTP 一般是明文传输,很容易被攻击者窃取重要信息,鉴于此,HTTPS 应运而生。
HTTPS
HTTPS是身披SSL外壳的HTTP。HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。使用HTTPS的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。(PS:TLS是传输层加密协议,前身是SSL协议,由网景公司1995年发布,有时候两者不区分。)
HTTPS 和 HTTP 有很大的不同在于 HTTPS 是以安全为目标的 HTTP 通道,在 HTTP 的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在 HTTP 的基础上增加了
SSL
层,也就是说 HTTPS = HTTP + SSL。
HTTP请求
HTTP请求包括三部分,分别是请求行(请求方法)、请求头(消息报头)和请求体(请求正文)。
浏览器每一次根据HTTP协议,发起一次去服务器获取数据的行为,就是一次HTTP请求 。
network面板
Headers该资源的HTTP头信息。
Preview根据你所选择的资源类型(JSON、图片、文本)显示相应的预览。
Response显示HTTP的Response信息。
Cookies显示资源HTTP的Request和Response过程中的Cookies信息。
Timing显示资源在整个请求生命周期过程中各部分花费的时间。
请求首行由请求
Method
,URL
字段和HTTP Version
三部分构成, 请求行就是定义了本次请求的请求方式, 请求的地址, 以及所遵循的HTTP协议版本;HTTP请求的方式
根据发送HTTP请求的目的,HTTP协议中规定了很多种请求方式; 主要是post和get。
1 GET 请求指定的页面信息,并返回实体主体。 2 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。 GET和POST的区别:
GET POST 目的 从服务器上获取内容 往服务器上传递内容 参数携带 携带在URL的Search部分(Search由一个问号和一个querystring组成) 请求正文 数据容量 所以受地址栏的长度限制.不同的浏览器长度限制不同。例如IE为2KB+ 无限制 安全性 较差,会被浏览器缓存,导致信息泄露 较好 触发方式 地址栏、a标签、video、audio、img、link、script、表单、AJAX 表单、AJAX
域名(网域)
由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(DNS)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。
http://www.baidu.com http://www.1000phone.com http://stu.1000phone.net
域名级别
分为一级域名、二级域名、三级域名等
一级域名: sina.cn、 baidu.com 、 1000phone.net 二级域名: zhidao.baidu.com 、 stu.1000phone.net 三级域名: x.zhidao.baidu.com、 m.stu.1000phone.net
DNS服务器
DNS是一个域名系统,是万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
简单来说:域名与IP地址的查找服务器URL
统一资源定位符 (uniform resource location)。就是我们通常意义上说的网址。
格式:scheme://host.domain:port/path/filename
scheme - 定义因特网服务的类型。最常见的类型是 http,https;
Scheme 访问 作用 http 超文本传输协议 以 http:// 开头的普通网页。不加密。 https 安全超文本传输协议 安全网页,加密所有信息交换。 ftp 文件传输协议 用于将文件下载或上传至网站。 file 文件协议 您计算机上的文件。 host - 主机(http 的默认主机是 www)
domain - 域名,比如 1000phone.net
:port -端口号(http 的默认端口号是 80; https的默认端口443)
path - 服务器上的路径(如果省略,则文档必须位于网站的根目录中)。
filename - 文档/资源的名称
search - 查询串
hash - 哈希值
http://10.30.151.3/index.html?a=1&b=2#vvvvvvvvvvvv 协议: http 主机: 10.30.151.3 端口: 默认80; path: / filname: index.html search: ?a=1&b=2 hash: #vvvvvvvvvvvvv
URL转码
- 转码:将不合规则的字符转变成合规则的字符;
encodeURIComponent这个函数用于转码
----------------------------------------------------------------------------
解码:将合规则的字符再转换成原字符;
decodeURIComponent这个函数用于解码
从浏览器输入地址栏,到页面完全展示都经历了什么
一 、接收到输入的字符串
二、 分析字符串的格式,判定是否是URL
三、将域名转换为ip地址
1 查看浏览器缓存中是否有该域名与ip地址的对应关系 如果有就得到ip地址进行第四步 如果没有本栏目将继续向下
2 操作系统也有缓存 查看 如果有 本栏目终止 进行第四步 如果没有继续向下
3 路由器缓存
4 调用操作系 统的一个服务,发送请求去DNS服务器,得到结果。如果没有,就真没有 如果有就得到IP地址了。
四、浏览器会发送TCP请求,申请建立TCP连接。服务器验证,验证通过,连接建立。
五、 浏览器开始发送请求内容
六、 服务器接收到请求 进行响应
七、 浏览器接收到数据(首页html的文件内容)
八、 断开连接
九、浏览器开始处理数据
1 建立DOM树
2 建立样式树
3 DOM树与样式树结合生成渲染树
4 浏览器开始渲染页面
十、处理数据的过程中会发现还有更多的资源要请求 此时会重复以上步骤
十一、 所有资源加载并处理完毕 执行onload事件