什么是HTTP?
HTTP是客户端和服务器端之间数据传输的格式规范,表示“超文本传输协议”
HTTP完整的事务流程?
(1)域名解析
(2)发起TCP的3次握手
(3)建立TCP连接后发起HTTP请求
(4)服务器端响应HTTP请求,浏览器得到HTML代码
(5)浏览器解析HTML代码,并请求HTML代码中的资源
(6)浏览器对页面进行渲染并呈现给用户
HTTP请求方式?
POST:传输信息给服务器
GET:请求访问已经被URL(统一资源标识符)识别的资源,可以通过URL,给服务器传递参数数据
PUT:传输文件
HEAD:获取报文首都
DELETE:删除文件
OPTIONS:查询相应url支持的HTTP方法
HTTP的缺点:
通信使用文明,不加密,可能会被窃听
不验证通信方身份,可能遭到伪装
无法验证报文的完整性,可能会被篡改
HTTP协议的特征?
支持客户端/服务器模式,简单快速,灵活,无连接,无状态
为什么说HTTPS更安全?
是利用ssl/tls协议传输,它包含证书、卸载、流量转发、负载均衡、页面适配,浏览器适配,refer传递等技术,保障了传输过程的安全性
HTTP与HTTPS有什么联系?端口号是什么?
HTTP通常承载于TCP之上,HTTP和HTTPS之间添加了一个安全协议层(SSL和TSL),就形成了我们所说的HTTPS,HTTP默认的端口为80,HTTPS默认的端口是433
TCP传输的三次握手、四次挥手策略
为了准确无误的把数据送达到目的地,TCP采用三次握手,用TCP把数据包发送出去后,TCP不会对传输后的数据置之不理,他一定会向对方确认是否成功发送,握手过程中使用了TCP的标志,即SYN和ACK。
发送端首先给接收端发送一个带SYN标志的数据包,接收端收到后,回传一个带有SYE/ACK标志的数据包以表示正确传达,并确认信息,最后,发送端再回传一个带ACK标志的数据包,代表握手结束,如果握手过程出现中断,TCP会以相同的顺序发送相同的数据包
四次握手
第一次握手:主动关闭方发送一个FIN,用来关闭主动关闭方到被动关闭方的数据传送,主动方告诉被动方不会再发送数据
第二次握手:被动方接收到FIN包后,给对方发送一个ACK,确认序号为收到序号+1
第三次握手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,
第四次握手:主动关闭方收到FIN,给被动方发送一个ACK,确认序号为收到序号+1
网络分层模型有哪七层?
应用层:允许访问OSI环境的手段
表示层:对数据进行翻译,加密和压缩
会话层:建立、管理和终止会话
传输层:提供端到顶端的可靠报文传输和错误恢复
网络层:负责数据包从源到宿的传递和网际互连
数据链路层:将比特组装成帧并实现点到点的传递
物理层:通过媒介传输比特,确定机械及电气规范