(写此文是为了自己参考加深自我印象,很多是用自己的话总结的,有错误感谢指出!仅供参考) 没有了会话层和表示层,把这些功能留给程序开发者处理 相当于数据链路和物理层合并为网络接口层 ①TCP面向连接,也就是必须建立连接才能进行数据通信,UDP面向无连接,TCP是可靠传输,UDP是尽最大努力交付,不保证可靠传输。 序号 seq 用于对字节流编号 表示第一个字节的编号 ①客户端发送SYN等于1的数据包给服务器,表示这是一个连接请求 ②服务器发送SYN等于1,并且ACK=1的数据包给客户端表示同意连接请求.发送连接确认报文 ③客户端收到报文后,发出ACK=1的确认报文。连接建立 为什么要三次握手呢? 为什么要四次挥手才释放连接呢 使用保活机制解决这个问题。每次服务器发送数据,就重置保活计时器,当保活计时器达到一定的时间内,TCP发送探测报文,达到一定的次数没有相应就关闭连接 通过超时重传实现,如果一个发送的报文在超时时间内没有得到回应,将会重新发送 。一个报文段从发送到再到接受确认所经过的时间称为往返时间RTT,超时时间应该略大于往返时间的加权平均值 流量控制 拥塞控制(是为了避免网络拥塞,传送数据太多,网络可能就会进入拥塞状态) ①首先经过DNS协议,解析域名对应的服务器地址,DNS协议首先会在本地缓存查询时候存在域名对应的IP地址,然后再查询上层的DNS服务器。 Https并不是新协议,而是结合了HTTP和SSL(Secure Sockets Layer) 也就是说HTTPs使用了隧道进行通信 先让HTTTP和SSL通信 再由SSL和TCP通信。 端口号不同HTTP默认端口号是80 HTTPS是443 HTTP存在以下问题 HTTPS 加密传输 完整性保护 – Http1.0和HTTP1.1的区别 URI是统一资源标识符,可以唯一标志一个资源 HTTP1.0 、 HTTP1.1与HTTP2.0的主要区别OSI模型有哪几层,并分别说说每层的作用
主要是在应用程序之间进行数据传输,如Http协议 DNS协议等
主要用于数据加密压缩等功能
主要用于会话的建立管理等工作
为进程提供数据传输服务,如TCP UDP协议。
为主机提供数据传输服务,网络层把运输层的数据封装为分组进行传输
在链路之间提供数据传输服务,主机之间存在很多链路,数据链路层把网络层传输下来的分组封装成帧。
考虑的是怎么在传输媒体上传输比特流,尽量屏蔽物理媒介的差异,使数据链路层感觉不到这些差异。确定与传输媒体之间的一些特性,比如机械特性,电气特性等。五层网络模型
TCP/IP有哪几层
各层分别有哪些协议
简述TCP和UDP的区别
②传输效率上,UDP速度要比TCP更高一些,UDP的实时性更强,所以我们常见的视频电话等一般是基于UDP协议。
③TCP有差错控制,拥塞控制,流量控制等功能。
④TCP传输是面向字节流,UDP传输是面向用户数据报
⑤TCP点对点传输,UDP可以一对一或一对多,多对多通信.
⑥对实时性要求较高用UDP,对网络通信质量要求较高使用TCP。TCP三次握手过程及原因
确认号 ack 期望收到的下一个报文段的序号 只有当ACK=1时,确认号才有效
SYN(同步序列号) 用于建立连接的过程
FIN(finish标志) 用于释放连接
ACK 只有当ACK=1时,确认号才有效,当建立tcp连接后,所有传送报文都必须把ACK置为1
为了防止客户端失效的连接请求打开服务器连接,如果客户端发送了请求,请求在网络中滞留,客户端将超时重新发起连接请求,而经过一段时间,超时的请求可能还会发送到服务器,如果没有三次握手,这时候服务器就会开启两个连接。TCP四次挥手过程及原因
因为当客户端发送释放报文后,服务器端可能仍有数据放松,是为了让服务器段传送完未发送的数据后,服务器端再发送释放报文。
为什么要等待2MSL再关闭连接呢
是为了确保客户端发送的确认报文顺利到达服务器,如果客户端发送的确认报文中途丢失,那么服务器端就会一直请求客户端,如果这时候客户端关闭了,那服务器端就会一直发送FIN=1的数据报文段
建立连接后,客户端出现TCP客户端发生故障怎么办,服务器会一直等待客户端的数据传输吗
TCP是怎么实现差错控制和流量控制,拥塞避免的TCP的差错控制,流量控制和拥塞避免
利用滑动窗口机制,TCP报文中有个窗口字段,可以控制发送方窗口大小,如果窗口大小为0,则发送方不能发送数据,保证接收方来得及接受。
慢开始,拥塞避免,快重传,快恢复。
发送方维护一个拥塞窗口值,拥塞窗口只是一个状态变量,接受方实际能接受多少还是取决于发送方窗口字段的大小。一开始拥塞窗口呈指数增长,当达到慢开始门限时,拥塞窗口变成线性增长。当网络拥塞后(出现了超时),慢开始门限变为拥塞窗口值的一半,拥塞窗口从0开始。而快重传是因为有时候网络中不是拥塞,而是某些数据包丢失,这时候就执行快恢复算法。当发送方收到三个连续的同一个报文段的重复确认,说明报文段丢失,执行快恢复算法。慢开始门限变为拥塞窗口的一半,拥塞窗口值再等于慢开始门限。
在浏览器中输入url地址 ->> 显示主页的过程
②发送TCP连接,三次握手建立连接
③发送HTTP请求
④服务器接受HTTP请求并返回HTTP报文
⑤浏览器解析报文内容,渲染页面
⑥连接结束,四次挥手释放连接HTTP状态码有哪些
get 和 post 请求有哪些区别?
Cookie和Session有什么区别
session和cookie作用
用户个性化的东西,比如购物车,登陆状态,用户自定义设置,主题等Http和Https有什么区别
使用明文通信,内容可能会被窃听
不验证通信放的真实身份,通信方的身份可能遭遇伪装
无法验证报文的完整性
数据加密传输,安全性有保障。
使用证书来验证通信方的身份。
完整性保护,防止报文被篡改
https://blog.csdn.net/tabactivity/article/details/49685319 公钥私钥相关知识
https采用混合加密机制,即使用对称加密加密传输数据,再使用非对称加密 加密堆成密钥。
加密过程简化:以支付宝为例,我向支付宝发送消息,我的数据经过一个随机生成的密钥加密。并把密钥通过网站的公钥加密,服务器端用私钥解密,得到加密密钥,并把网站内容用加密器加密,再把密钥用私钥加密
提供MD5报文摘要,虽然http也有报文摘要的功能,但是http的报文被获取后,安全性低,可以重新计算报文摘要,而HTTPS的报文本身就经过加密,很难计算出报文摘要Http1.0和Http1.1和Http2.0有什么区别
长连接
HTTP1.0需要使用keep-alive参数来保持一个长连接,而HTTP1.1默认支持长连接和请求流水线处理。
长连接就是可以一直保持连接,不需要每一个TCP请求都打开一个连接,也就是一个TCP连接处理多个HTTP请求和相应,减少了建立和关闭连接的资源消耗。流水线处理,客户端不用等待上一次请求结果返回,就可以发出下一次请求。
带宽优化
HTTP1.1支持只发送header信息。如果服务器认为客户端有权请求服务器,返回100,否则返回401.如果客户端收到100,才开始把body部分发送到服务器,节约了带宽。
状态码
http1.1新增了24个错误状态码 如409(Conflict)表示请求的资源与资源的当前状态发生冲突;410(Gone)表示服务器上的某个资源被永久性的删除
HOST头处理
支持虚拟主机 http1.0认为每台机器都绑定唯一的IP地址,虚拟主机技术的发展,多个IP地址可以对应同一台物理机器,所以在HTTP1.1的请求头和相应体中都支持HOST头域,如果没有HOST信息会报告400错误
缓存
引入更多缓存控制策略,提供更多可选择的缓存头,优化缓存
分块传输
支持只传送对象的一部分。而不是请求整个对象
采用二进制格式而非文本格式
比起文本协议,二进制协议解析起来更高效,更重要的是错误更少
首部信息压缩
①服务器和客户端同时维护一个维护一个之前见过的首部信息表,对于存在首部信息表中的不用重复传输
②首部信息使用了哈夫曼编码进行压缩。为了加快效率
服务器端推送
客户端请求一个资源时,服务器端会把相关的资源也一起发送给客户端,如请求一个页面,服务器可能会把css和js文件都一并发送给客户端,减少传送次数
多路复用
客户端和服务器只需要保持一个TCP连接URI和URL是什么区别
URL是统一资源定位符,可以提供该资源的路径。它是一种具体的资源。即URI用来标识一个资源,URL不仅标识资源,还指明了资源的访问位置。
https://github.com/CyC2018
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算