一: 基础篇复习 网络基础: 下篇

HTTP协议

1、HTTP协议1.0_1.1_2.0

HTTP1.0: 服务器处理完成后立即断开TCP连接(无连接),服务器不跟踪每个客户端也不记录过去的请求(无状态

HTTP1.1: KeepAlived长连接避免了连接建立和释放的开销;通过Content-Length来判断当前请求数据是否已经全部接受(有状态

HTTP2.0: 引入二进制数据帧和流的概念,其中帧对数据进行顺序标识;因为有了序列,服务器可以并行的传输数据。

http1.0和http1.1的主要区别如下: ​ 1、缓存处理:1.1添加更多的缓存控制策略(如:Entity tag,If-Match) ​ 2、网络连接的优化:1.1支持断点续传 ​ 3、错误状态码的增多:1.1新增了24个错误状态响应码,丰富的错误码更加明确各个状态 ​ 4、Host头处理:支持Host头域,不在以IP为请求方标志 ​ 5、长连接:减少了建立和关闭连接的消耗和延迟。

http1.1和http2.0的主要区别: ​ 1、新的传输格式:2.0使用二进制格式,1.0依然使用基于文本格式 ​ 2、多路复用:连接共享,不同的request可以使用同一个连接传输(最后根据每个request上的id号组合成正常的请求) ​ 3、header压缩:由于1.X中header带有大量的信息,并且得重复传输,2.0使用encoder来减少需要传输的hearder大小 ​ 4、服务端推送:同google的SPDUY(1.0的一种升级)一样

2、HTTP与HTTPS之间的区别

HTTP与HTTPS之间的区别:

HTTP HTTPS
默认端口80 HTTPS默认使用端口443
明文传输、数据未加密、安全性差 传输过程ssl加密、安全性较好
响应速度快、消耗资源少 响应速度较慢、消耗资源多、需要用到CA证书

HTTPS链接建立的过程:

1.首先客户端先给服务器发送一个请求

2.服务器发送一个SSL证书给客户端,内容包括:证书的发布机构、有效期、所有者、签名以及公钥

3.客户端对发来的公钥进行真伪校验,校验为真则使用公钥对对称加密算法以及对称密钥进行加密

4.服务器端使用私钥进行解密并使用对称密钥加密确认信息发送给客户端

5.随后客户端和服务端就使用对称密钥进行信息传输

对称加密算法:

双方持有相同的密钥,且加密速度快,典型对称加密算法:DES、AES

非对称加密算法:

密钥成对出现(私钥、公钥),私钥只有自己知道,不在网络中传输;而公钥可以公开。相比对称加密速度较慢,典型的非对称加密算法有:RSA、DSA

3、Get和Post请求区别

HTTP请求:

方法 描述
GET 向特定资源发送请求,查询数据,并返回实体
POST 向指定资源提交数据进行处理请求,可能会导致新的资源建立、已有资源修改
PUT 向服务器上传新的内容
HEAD 类似GET请求,返回的响应中没有具体的内容,用于获取报头
DELETE 请求服务器删除指定标识的资源
OPTIONS 可以用来向服务器发送请求来测试服务器的功能性
TRACE 回显服务器收到的请求,用于测试或诊断
CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器

get和Post区别:

GET POST
可见性 数据在URL中对所有人可见 数据不会显示在URL中
安全性 与post相比,get的安全性较差,因为所 发送的数据是URL的一部分 安全,因为参数不会被保存在浏览器 历史或web服务器日志中
数据长度 受限制,最长2kb 无限制
编码类型 application/x-www-form-urlencoded multipart/form-data
缓存 能被缓存 不能被缓存

4、HTTP常见响应状态码

100:Continue --- 继续。客户端应继续其请求。

200:OK --- 请求成功。一般用于GET与POST请求。

301:Moved Permanently --- 永久重定向。

302:Found --- 暂时重定向。

400:Bad Request --- 客户端请求的语法错误,服务器无法理解。

403:Forbideen --- 服务器理解请求客户端的请求,但是拒绝执行此请求。

404:Not Found --- 服务器无法根据客户端的请求找到资源(网页)。

500:Internal Server Error --- 服务器内部错误,无法完成请求。

502:Bad Gateway --- 作为网关或者代理服务器尝试执行请求时,从远程服务器接收到了无效的响应。

5、重定向和转发区别

重定向:redirect:

地址栏发生变化

重定向可以访问其他站点(服务器)的资源

重定向是两次请求。不能使用request对象来共享数据

转发:forward:

转发地址栏路径不变

转发只能访问当前服务器下的资源

转发是一次请求,可以使用request对象共享数据

6、Cookie和Session区别。

Cookie 和 Session都是用来跟踪浏览器用户身份的会话方式,但两者有所区别:

Cookie 数据保存在客户端(浏览器端),Session 数据保存在服务器端。

cookie不是很安全,别人可以分析存放在本地的COOKIE并进行欺骗,考虑到安全应当使用session。

Cookie ⼀般⽤来保存⽤户信息,Session 的主要作⽤就是通过服务端记录⽤户的状态

浏览器输入URL过程

过程: DNS解析、TCP连接、发送HTTP请求、服务器处理请求并返回HTTP报文、浏览器渲染、结束

过程 使用的协议
1、浏览器查找域名DNS的IP地址 DNS查找过程(浏览器缓存、路由器缓存、DNS缓存) DNS:获取域名对应的ip
2、根据ip建立TCP连接 TCP:与服务器建立连接
3、浏览器向服务器发送HTTP请求 HTTP:发送请求
4、服务器响应HTTP响应 HTTP
5、浏览器进行渲染

猜你喜欢

转载自juejin.im/post/7047330520870420487