分层结构
OSI七层模型
- 应用层、表示层、会话层;传输层、网络层,数据链路层,物理层
TCP/IP 四层模型
- 应用层,http协议
- 传输层,TCP/UDP有关
- 网络层,ip,(每个主机都有一个ip,我们使用ip进行通信连接,网络寻址。)
- 网络接口层,也是一个模型。
TCP/UDP
TCP的三次握手和四次挥手
保证客户端和服务端都具备发送和接收的能力。
多了浪费资源,少了的话连接不可靠。
区别:
- TCP:有序号,确认,超时重传,使得连接更加可靠,面向字节流(端对端的),传输过程中不会丢包。
- UDP:支持无连接传输协议,但是在传输的过程中容易丢包。
- UDP是高效率,可靠性较低。TCP可靠性高,不会丢包,乱序。
HTTP/HTTPS
区别:
一个有SSL/TLS加密传输协议,一个没有。
无状态连接:
HTTP是一种不保存状态,即无状态协议。也就是说HTTP协议自身不对请求和响应之间的通信状态进行保存。
session就会在服务器端进行这个保存,对用户的状态进行保存。
If Cookie被禁用了,通过URL重写把SessionID附加到URL路径后面。
状态码
- 2开头:成功
- 3开头:重定向
- 一般都是我请求的资源已经有了一个新的URI,或者已经被分配了一个新的URI。这个平常遇到的比较少
- 4开头:客户端出问题了
- 404找不到请求的资源
- 5开头:服务端出问题了
- 503 服务器停机,维护状态
cookie & session
Cookie和Session都是用来跟踪浏览器用户身份的会话方式,但是两者的应用场景不太一样。
Cookie一般通过客户端用来保存用户信息:本地的
- 这个cookie我们自己也能进行获取,京东抢购脚本就是利用的cookie保存一些用户登录信息来进行快速登录,保持登录,从而进行一个快速的脚本秒杀。
Session的主要作用就是通过服务端记录用户的状态:服务器的
- 在HTTP协议的无状态下,服务端给特定的用户创建完Session后就可以标识用户并跟踪这个用户了。
URI&URL
URI(Uniform Resource Identified)是统一资源标志符,可以唯一表示一个资源。其中URI里面包含了统一资源定位符和统一资源命名符。
URL(Uniform Resource Location)是统一资源定位符,可以提供该资源的路径。它是一种URI,即URL可以用来标识一个资源,而且还指明了如何定位这个资源。
- 协议+主机名+端口+文件地址
URD 统一资源命名符:
- 解析器,将字符串转换成最新的地址。只是一种理论的
计算机网络这一块还有很多地方没有涉及到,有空找个时间系统性的学习一下