GET 和 POST 的区别
- 作用 GET用来获取资源,POST用于传输实体主体
- 参数位置 GET的参数放在URL中,POST的参数存储在实体主体中,并且GET方法提交的请求的URL中的数据多是2048字节,POST请求没有大小限制
- 安全性 GET方法因为参数放在URL中,安全性相对于POST较差一些
- 幂等性
GET方法是具有幂等性的,而POST方法不具有幂等性。这里幂等性指客户端连续发出多次请求,收到的结果都是一样的.
什么是网络协议,为什么要对网络协议分层
网络协议是计算机在通信过程中要遵循的一些约定好的规则
网络分层的原因
- 易于
实现
和维护
,因为各层之间都是独立的层与层之间不会收到影响 - 有利于标准化的制
URI 和 URL的区别
- URI(Uniform Resources Identifier):中文全称为统一资源标志符,主要作用是唯一标识一个资源
- URL(Uniform Resources Location):中文全称为统一资源定位符,主要作用是提供资源的路径。
DNS的解析流程
- DNS是
分级别解析出IP地址的
- 根域名服务器: 只负责顶级域的解析;
- 顶级域: .com、.gov(政府)、.cn(中国) .jp(日本)、 .kr(韩国)等通 过域名后缀来分类
- 二级域:下一级域
TCP 和 UDP的区别
- TCP首部:前20个字节是固定的,后面有4n个字节根据需求而增加的选项,所以TCP首部最小的长度为20字节。
UDP的首部只有8个字节,源端口号、目的端口号、长度和校验各两个字节
是否面向连接 | 可靠性 | 传输形式 | 传输效率 | 消耗资源 | 应用场景 | 首部字节 | |
---|---|---|---|---|---|---|---|
TCP | 面向连接 | 可靠 | 字节流 | 慢 | 多 | 文件/邮件传输 | 20~60 |
UDP | 面向连接 | 不可靠 | 数据报文端 | 快 | 少 | 视频/语言传输 | 8 |
常见的HTTP方法
方法 | 作用 |
---|---|
GET | 获取资源 |
POST | 传输实体主体 |
PUT | 上传文件 |
DELETE | 删除文件 |
HEAD | 和GET方法类似,但只返回报文首部,不返回报文实体主体部分 |
PATCH | 对资源进行部分修改 |
OPTIONS | 查询指定的URL支持的方法 |
CONNCT | 要去用隧道协议连接代理 |
TRACE | 服务器会将通信路径返回给客户端 |
HTTPS的加密过程
HTTPS的加密过程:
1.客户端向服务端发起第一次握手请求,告诉服务端客户端所支持的SSL
的指定版本、加密算法及密钥长度等信息。
2.服务端将自己的公钥发给数字证书认证机构,数字证书认证机构利用自己的私钥对服务器的公钥进行数字签名,并给服务器颁发公钥证书。
3.服务端将证书发给客服端。
4.客服端利用数字认证机构的公钥,向数字证书认证机构验证公钥证书上的数字签名,确认服务器公开密钥的真实性。
5.客服端使用服务端的公开密钥
加密自己生成的对称密钥,发给服务端。
6.服务端收到后利用私钥
解密信息,获得客户端发来的对称密钥。
7.通信双方可用对称密钥
来加密解密信息。。
常用的HTTP状态码
1XX
- 100 Continue:表示正常,客户端可以继续发送请求
- 101 Switching Protocols:切换协议,服务器根据客户端的请求切换协议。
2XX
- 200 OK:请求成功
- 201 cread :已创建,表示成功请求并创建了新的资源
- 202 Accepted : 已接收,已接收请求 但未处理完成。
- 204 No Content :无内容,服务器成功处理,但未返回内容
- 205 Reset Content:重置内容,服务器处理成功,客户端应重置文档视图
- 206 Partial Content : 表示
客户端
进行了请求,响应报文包含Content-Range 指定范围的实体内容
3XX
- 301 Moved Permanently:
永久性重定向
- 302 Found:
临时重定向
- 303 See Other:和301功能类似,但要求客户端采用
get
方法获取资源 - 304 Not Modified:所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。
- 305 Use Proxy:所请求的资源必须通过代理访问 307 Temporary Redirect:
临时重定向,与302类似,要求使用
get请求重定向
。
4XX
- 400 Bad Request:客户端请求的语法错误,服务器无法理解。
- 401 Unauthorized:表示
发送的请求
需要有认证信息。 - 403 Forbidden:服务器理解用户的请求,但是拒绝执行该请求
- 404 Not Found:服务器无法根据客户端的请求找到资源。
- 405 Method Not Allowed:客户端请求中的方法
被禁止
- 406 Not Acceptable:服务器无法根据客户端请求的内容特性完成请求 408 Request
Time-out:服务器等待客户端发送的
请求时间过长
,超时
5XX
- 500 Internal Server Error:服务器内部错误,无法完成请求
- 501 Not Implemented:服务器不支持请求的功能,无法完成请求