URL
1,在WWW上,每一个信息资源都有统一的且在网上唯一的地址,该地址就叫URL,(统一资源定位器),它是WWW的统一资源定位标志,就是指网络地址,用于定位网络资源,例如:视频,音频,图片,文本,网页等
2,学习它的作用:理解网络资源地址的组成,有助于服务器开发时对资源定位的理解,有助于更好的使用网络资源
3,组成:协议://域名:端口号/虚拟路径?参数列表#锚点
示例:http://www.4399.com/flash/130396.htm
http://www.baidu.com/s?wd=xxx
端口号不显示,比如HTTP协议默认端口号80
协议是计算机网络中进行数据交换而建立的规则,标准
域名是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识
端口号(逻辑端口)是逻辑意义上用于区分服务的端口
虚拟路径:当要访问服务器端真实路径,需要提供虚拟路径来让用户访问
参数列表:通过URL定位资源时,发送给服务器的多个参数
锚点:常常用于那些内容庞大繁琐的网页,通过点击锚点,快速到达锚点指示的网页位置,常用于设置"去顶部"的按钮
Tcp/IP
1.体系结构 主要协议
应用层(应用程序层) ping telnet OSPF DNS 用户空间
传输层 TCP UDP
网络层 ICMP IP 内核空间
数据链路层 ARP Data Link RARP 物理传输媒介
1,数据链路层:网卡接口的网络驱动程序,处理数据在物理传输媒介上的传输
不同的物理网络具有不同的电器特性,网络驱动程序隐藏了折现细节,为上层的协议提供了一个统一的接口,因为我们的网卡不是只由一个生产商生产的,里面的内容包括它交换的数据格式也是不一样的
ARP协议(地址解析协议)和RARP协议(逆地址解析协议) 协议负责IP地址和物理地址的解析和逆解析,
网络层是通过IP地址来锁定一个主机的
数据链路层是通过物理地址来连接一个主机的
2,网络层:数据包的选择和转发 网络层对上层协议也隐藏了这些网络的拓扑连接的细节,使得传输层和网络的应用程序看来,这两个又是直连的
最核心的协议是IP协议,根据数据包的目的IP地址决定如何进行投递这个信息,如果数据没法直接发送给目标的主机,那么IP协议就为它寻找合适的下一个路由器,它是通过逐跳的方式来确定通讯的路径然后将数据包交给路由器进行转发,多次的重复这一个过程,最终到达目标的主机或者由于发送失败而被丢弃
IMCP协议用于检测网络的连接,它是IP协议非常重要的补充,用于检查网络连接
8位类型(区分报文类型,有差错报文,即回应网络错误和查询报文,即查询网络信息),8位代码(进一步细分不同条件),16位校验和(对整个报文进行循环的冗余校验也就是CRC,以检验报文在传输中是否损坏)
报文内容(不同的ICMP的报文有不同的正文内容)
3.传输层:为两台主机上的应用程序提供端到端的通讯,不在乎中转过程,只关心起始端和目的端
TCP(传输控制协议,为应用层提供可靠,面向连接,基于流的服务) UDP(不可靠,无连接,基于数据报的服务) SCIP(为在因特网上传输电话信息而设计的服务)
4.应用层:处理应用程序的逻辑
Ping应用程序,利用ICMP报文检测网络连接
Telnet远程登陆协议,在本地完成远程任务
OSPF(开发最短路径优先),动态路由更新协议,用于路由器之间的通信
DNS协议,提供机器域名到IP地址的转换功能
注意:应用层的协议可能会跳过传输层直接使用网络层的服务
应用层的协议通常可以使用TCP服务,也可以使用UDP服务
二,封装
通过封装使上层的协议使用下层协议所提供的服务
传递信息时每一层协议都在上层数据的基础上加上自己的头部信息,实现该层功能
TCP报文段:经过TCP封装后的数据 UDP数据报:经过UDP封装后的数据 帧:经过数据链路层封装的数据(传输媒介不同,帧的类型不同
三,分用
通过分用使在帧到达目的主机沿着自底向上依次传递时,各层协议依次处理帧中本层负责头部数据,以获得所需的信息,并最终将处理后的帧交给目标应用程序
四,ARP
实现任意网络层地址到任意物理层地址的转换
主机向自己所在网络广播一个ARP请求,包含目标机器网络地址,所有机器都会收到请求,只有目标主机会应答,
五,DNS
域名服务,将机器域名转换成IP地址,
标志字段:协商具体的通信方式和反馈通信状态
六,IP服务的特点
IP协议是TCP/IP协议族的动力,它为上层协议提供无状态,无连接,不可靠的服务
1.无状态指IP通信双方不同步传输数据的状态信息,因此所有IP数据报的发送,传输和接受都是相互独立,没有上下文关系的,最大的缺点是无法处理乱序和重复的IP数据报, 比如第N个数据包可能比第N+1更慢到达接收端,一个数据报也可能多次到达接收端,这两种情况下IP模块就无法检测到乱序和重复,因为没有任何的上下文关系,接收端只要接到了完整的数据报,就会交给上层协议,那上层协议看来是乱序的,重复的,面向连接的协议, 如TCP协议,就能自己处理,然后递交给上层协议内容绝对是有序的,正确的
但无状态也有优点,简单,高效
2.无连接指IP通信的双方都不长久的维持双方的任何信息,因此上层协议每次发送数据的时候都必须要指定每个对方的这个IP地址
3.不可靠是指IP协议不能保证IP数据报准确的到达接收端,只是尽最大的努力
因为很多情况都能导致这个发送失败,比如中转路由发现IP数据报存活时间太长,也就是TTL字段太长,那么就会丢弃并返回一个ICMP的错误信息,也就是超时错误给发送端
HTTPS http
一, Http是超文本传输协议,基于Tcp/Ip协议,Https中的s为Secure,是安全的意思,所以Https相当于Http的加强版
二, 1. 目前Http常用的版本是1.1和2,2相比于1的优点是多路复用,(例如传送图片,Http/2就会更快,)多路复用指通过单一的Http/2连接请求发起多重的请求,响应消息,多个请求stream共享一个Tcp连接,实现多留并行而不是依赖建立多个Tcp连接
2.我们通过浏览器请求数据时,首先要给服务器发送请求报文,服务器返回叫响应报文,报文格式如下
请求报文 响应报文
请求行:方法(GET) URL 版本(HTTP) CRLP 版本 状态码 短语 CRLF
首部行:首段字段名:值 首段字段名
CRLP CRLP
实体主体 实体主体
3.Http特点 :无状态(对事物的处理没有记忆能力)
无连接(每次需要重新响应请求)
基于请求和响应
简单快捷灵活
通信使用明文,请求和响应不会对通信方进行确认,无法保护数据的完整性
4.Http通信传输(TCP三次握手,四次挥发)三次握手防止了误会产生
浏览器向服务器发送请求命令,请求头信息,服务器向浏览器发送应答头信息,数据,最终以服务器关闭TCP连接结束
发送端每通过一层则增加首部 (由上至下) 接收端每通过一层则删除首部(由下至上)
加粗部分按照U形看
应用层 Http数据(向下) Http数据 (向上)
传输层加Tcp首部(向下)减Tcp首部(向上)
网络层加 IP首部(向下)减 IP首部 (向上)
数据链路层加以太网首部(向下) (向右) 减以太网首部(向上)
三,1. Https更安全是因为它不再明文,是密文
2.Https特点 :内容加密(采用混合加密技术,中间者无法直接查看明文内容)
验证身份(通过证书认证客户端访问的是自己的服务器)
保证数据完整
3.Https实现原理
A 发送请求,连接端口,发送的信息主要是随机值1和客户端支持的加密算法
B 接收到信息后响应握手信息,包括随机值2和匹配好的协商加密算法,此加密算法一定是A加密算法的子集
B 给A发送的第二个响应报文是数字证书(证书有公钥和私钥)
A发现证书没有问题,会随机生成一个密钥,通过后,随机值1,随机值2,预主密钥三个组装为会话密钥,通过证书的公钥加密会话密钥
传送加密信息,即会话密钥,使B得到其中的三个东西,B得到后组装会话密钥,与A会话密钥相同
A通过会话密钥加密一条消息发给B,验证其能否正常接受A的消息
B也会有同样的操作,双方验证成功后,SSL层建立完成