通信相关

1 数据交互方式的历史版本

  1. 表单
    最基本、最简单的交互方式
  2. ajax
    ajax不用刷新页面,跨域麻烦
    单向通信,性能低
  3. jsonp
    用来跨域,安全性差,了解即可
  4. WebSocket
    性能高、双向(双工)通信、直接跨域
    可以手动兼容(兼容性极强)
    :1 2 3 三种方式的http请求其实都是表单

2 http协议

2.1 http版本

http1.0:一次性连接
http1.1:保持连接——再所有请求完成后在断开(性能提升)
http2.0:1. 强制https 2. 自带双向通信 3. 多路复用

http——容易被攻击
https (security)——安全

2.2 三次握手,四次挥手

三次握手,四次挥手

3 计算机网络体系结构

3.1 OSI七层交换"参考"模型

用途 协议
1.物理层 跟材料相关
2.链路层 内网寻址 ARP、ICMP
3.网络层 外网寻址 IP
4.传输层 通信稳定性 TCP
5.会话层 × 记录状态
6.表现层 × 统一各个网络结构
7.应用层 应用细节 HTTP、FTP、SMTP、POP3

物链网传会表应

3.2 TCP & UDP

TCP——传输控制协议
保证到达、保证质量、保证顺序
用途:文件下载、聊天
UDP——用户数据协议
不保证到达、不保证质量、不保证顺序
用途:IP电话、视频直播
特点:对质量没有要求、对延迟有很高要求

4 表单

属性

属性 用途
action 提交到哪
method 方式——GET、POST;PUT、HEADER、DELETE;自定义
name 必须加、可以重复
submit 提交

数据提交方法

GET 数据放在url里 容量小≈32k、看得见、有缓存、利于收藏分享
POST 数据在http-body里 容量大≈1G、看不见、不缓存

get & post安全性完全一样,https才是真安全
校验
.onsubmit 事件里加判断

5 http状态码

意思
1xx 消息
2xx 成功
3xx 重定向
4xx 请求错误(客户端)
5xx 服务端错误
6xx 自定义

3xx 重定向:将网络转移到另一个地址
301:永久重定向——浏览器永远不会再次请求老的地址(不推荐)
302:临时重定向——浏览器下次还会请求老地址
304:重定向到硬盘(缓存)
缓存:
缓存理解

  1. 第一次向服务器请求a.txt文件,服务器返回200(成功)和文件内容
  2. 第二次向服务器请求a.txt文件时,会加上一个文件的时间,服务器用时间进行对比,如果文件版本相同则返回304

6 浏览器缓存

缓存策略:
cache-control: 告诉服务器要不要缓存
expire: 告诉服务器缓存的时效

缓存实现:

  1. Server -> Client: “Last-Modified: Sat, 02 Dec 2017 04:03:14 GMT”
    第一次请求:服务器给浏览器一个最后修改时间
  2. Client -> Server: “If-Modified-Since: Sat, 02 Dec 2017 04:03:14 GMT”
    第二次请求:浏览器给服务器一个上次缓存的文件的时间
  3. Server -> Client: 200 || 304
    第三次请求:服务器将第二次得到的时间,与自身文件修改时间对比
    1)timeServer > timeClient: 200,重新传输
    1. timeClient >= timeServer: 304

7 http请求

  1. 浏览器DNS缓存
  2. 操作系统DNS缓存
  3. 本地HOST文件
  4. 浏览器发起一个DNS系统调用
    1)宽带运营商服务器查看本身缓存
    2)运营商服务器发起迭代DNS解析请求
    (1)运营商服务器把结果返回操作系统内核 并缓存
    (2)操作系统内核把结果返回给浏览器
    (3)浏览器拿到IP地址
  5. 获得IP地址后,发起HTTP三次握手
  6. TCP/IP连接建立以后,浏览器可以向服务器发起HTTP请求
  7. 服务器接收到这个请求,将处理后的数据返回给浏览器
  8. 浏览器解析代码,用HTTP请求静态资源
  9. 浏览器根据拿到的资源对页面进行渲染,呈现

8 cookie/session

cookie 中带有服务器分配给浏览器的 sess_id

  1. cookie——保存在浏览器
    容量有限——4K
    不安全——用户、浏览器
  2. session——保存在服务器
    容量不用担心
    安全——

猜你喜欢

转载自blog.csdn.net/SKY_Lake/article/details/83621013