Android进阶之网络篇—TCP/IP,HTTP,HTTPS

2020-04-29  本文已影响0人  积木zz

计算机网络基础知识讲解

TCP/IP

TCP/IP是指能够在多个不同网络间实现信息传输的协议簇

TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议

为什么会有这些协议的东西呢?其实就是约定的一个规矩,一个在网络通信时定义的规矩,好让大家都遵守并且准确完成通信。

ok,下面具体说下有哪几层:

TCP IP协议族.png

应用层

应用层其实就是直接跟应用交互的,比如我们平时用浏览器访问地址,手机中请求接口,都是属于HTTP应用层的场景。
这一层是不管数据传输的具体情况的,只管发送和接受数据,作用在于产生数据报文。

一般就是使用最多的就是HTTP,那FTP,DNS又是什么呢?

FTP(File Transfer Protocol):文件传输协议,端口号:21;用户可通过客户机程序向远程主机上传文件;或从远程主机上下载文件。

DNS(Domain Name System):域名解析协议,端口号:53;通过域名解析获得域名所对应的IP

传输层

这一层用来负责数据传输的具体过程,保证每个数据能够准确的发送传输过去。
这一层作用在于告诉数据报文如何去目的地,比如要拆分报文之类的。

其中,TCP和UDP有什么区别呢?

可以看到TCP适用于稳定的应用场景,他会保证数据的正确性和顺序,所以一般的浏览网页,接口访问都使用的是TCP传输。
UDP是一种结构简单的协议,不会考虑丢包啊,建立连接等。所以适用于直播,游戏等场景。

说到TCP,就要说到TCP的三次握手和四次挥手了

TCP建立连接需要三次握手:

TCP断开连接需要四次挥手:

为什么连接是三次握手,断开需要四次呢?

关闭的时候,服务器端B收到客户端A关闭请求后,不能马上关闭,因为客户端没数据传输了,但是服务器端有可能还有数据还在传输给A,所以在收到A关闭请求后,等数据传完后再告诉A,可以关闭了。

网络层

IP网络层主要负责网络连接的建立和终止以及IP地址的寻找
这一层的作用在于告诉数据报文去哪,要找到数据报文的目的地

数据链路层

数据链路层是负责网络在现实世界的一个表现,比如以太网,Wi-Fi
这一层的作用就是告诉数据报文如何走了,是数据报文实际走的路线

形象总结

ok,现在大家都基本清楚了每一层的含义了把,这里我总结了一个比较形象的例子,让大家更深刻的理解到网络分层以及数据传输的过程。
故事开始于一个公子想向一位小姐写情书。。。


TCP IP协议族形象说明.jpg

HTTP

Hypertext Transfer Protocol,超⽂文本传输协议

位于TCP/IP协议族的应用层,用于网络上请求和传输数据

URL格式

http://www.baidu.com:80/s?ie=utf-8

HTTP报文

HTTP报文分为请求报文响应报文

请求报文
        //请求行
        GET /s HTTP/1.1
        //Headers
        Host: www.baidu.com
        Content-Type: text/plain
        //Body
        搜索****

请求报文分为三部分:

其中请求报文中的请求方法 常见有四种

什么是分块传输,什么是断点续传?

1、分块传输指的是服务器发给客户端的数据可以分成多个部分传输。

使用方法:

目的:
让客户端快速响应,减少等待时间

2、断点续传指的是客户端想从文件上次中断的地方开始下载或者上传

使用方法:

响应报文
        //状态行
        HTTP/1.1 200 OK
        //Headers
        Content-Type: application/json; charset=utf-8
        //Body
        [{"info":"xixi"}]

响应报文分为三部分:

响应报文中的状态码 大概分为五种类型

HTTPS

HTTP over SSL ,工作在 SSL (或 TLS)上的 HTTP

其实说白了,HTTPS就是在原本的http传输协议下层加了一个安全层(SSL),客户端和服务器端采用对称加密的方法进行加密传输。
只是传输过程中使用的对称加密哦,在整个验证证书到传输的过程中其实是用到了对称加密非对称加密和哈希算法。使用对称加密传输的原因是非对称加密的复杂性可能会影响到网络通信性能。

通信流程如下:

其中第三步,服务器的证书,一般是由三层信息组成

三环环环相扣,由客户端的系统验证根证书,由根证书验证签发机构,由签发机构验证服务器公钥。


这次内容有点多切枯燥,但都是基础知识,面试也会问到,所以需要我们记住并理解,加油吧!🚀

你的一个👍,就是我分享的动力❤️。

上一篇下一篇

猜你喜欢

热点阅读