网络相关基础面试题
状态码
- 1xx: 服务器接收到请求,正在处理
- 2xx: 成功状态码
- 3xx: 重定向状态码,服务器不接收,需要重定向到其他位置
- 301: 永久重定向
- 302: 临时重定向
- 304: 本地有缓存,资源未修改
- 4xx: 客户端错误状态码
- 5xx: 服务器错误状态码
GET, POST和PUT请求
- GET:
- 缓存: get请求会被缓存
- 安全性: 不安全,因为get请求会将请求参数放到url中向服务器发送,,请求的url会被保存在历史记录中所以不安全
- 应用场景:一般用于不会对数据库数据产生影响的请求
- POST:
- 缓存: post请求不会被缓存
- 安全性: 安全
- 应用场景: 一般用于对数据库数据增加删除的场景
- PUT:
HTTP && HTTPS
- HTTPS需要CA证书,费用比http高
- http是超文本传输协议,而https是ssl加密传输协议更加的安全
- 端口不同,http是80端口,https是443端口
浏览器按下回车后经历了什么
- URL解析: 分析请求url的传输协议和请求的资源路径
- 缓存判断: 如果存在缓存且数据没变,直接调用缓存内容,否则继续
- DNS解析: 通过dns解析请求地址未ip地址
- 获取mac地址
- tcp三次握手
- 如果是https请求存在一个第四次握手的过程进行加密
- 返回数据
- 页面渲染
- tcp四次挥手
TCP && UDP
- TCP: 是可靠的面向连接的协议, 允许将一台主机的字节流按顺序传递到目标主机
- UDP: 无连接,不可靠的协议, 主要用于不要求分组顺序到达的传输