network

Cookie

June 22, 2022
network, browser

什么是 cookie # 浏览器管理的一小段特殊字符串, http 协议的一部分,在 RFC 6265 里有说明 设置 Cookie # 服务端通过 http Set-Cookie 响应头 js 通过 document.cookie 设置(非 httpOnly 的) document.cookie # accessor (getter/setter), 访问器属性 写的操作非全量覆盖,仅修改对应的字段,写的时候需要 encodeURIComponent ,(name, value 都要) 读的操作不展示 domain , path 等信息 xhr 跨域 1 # 跨域的 xhr 请求只有带上 withCredentials:true 时,xhr 响应才能写 cookie ,否则会被忽略 fetch 跨域 # 参数带上 credentials: include Cookie 参数 # 例如: document.cookie = "user=John; path=/; expires=Tue, 19 Jan 2038 03:14:07 GMT; domain=. ...

计算机网络

June 1, 2022
network

三次握手 # client 发送 syn(Synchronize Sequence Number)到 server,表示想要建立 tcp 连接 Server 发送(syn+ ack) client 发送 ack 给 server,连接建立 四次挥手 # client 发送 FIN server 接收到 FIN,发送 ack server 发送 FIN client 发送 ack 网络分层 # TCP/IP 模型 # 应用层 传输层 网络层 链路层 OSI 模型 # 应用层 展示层 会话层 传输层 网络层 链接层 物理层 HTTP 1.1 # 缺点: ...

缓存

June 1, 2022
network

为什么需要缓存 # 减少不必要的网络请求,提升页面访问速度 减少服务器负载 节省网络开销(流量) 缓存工作机制 # 通过 http 请求头及 http 响应头来控制 缓存类型 # Private cache # 私有缓存:特定端的缓存,例如用户的浏览器 Shared cache # 源站和客户端之间的缓存,proxy cdn 等 Heuristic cache # 启发式缓存 http 的设计是能缓存尽量缓存,http 客户端根据 http 响应头自行决定缓存行为 缓存相关 header # Cache-Control # 缓存控制响应头, HTTP/1.1 引入 max-age 能存活多久(单位秒), 例: max-age=3153000 s-maxage 跟 max-age 类似,作用于共享缓存,当这个存在时会忽略 max-age private 仅允许端(浏览器)缓存,私有缓存 ...

网络安全

network, security

什么是安全通信 # 假定 Alice, Bob 为两个通讯实体,Trudy 为中间攻击人,如何保证 Alice 和 Bob 能进行安全通信 ? Confidentiality # 数据的机密性,即只有通信双方可以知道通信内容 Integrity # 消息完整性 Data Integrity # Alice 发的消息没有被篡改 Originality # Bob 收到的消息确实是 Alice 发的 Timeliness # Authentication # 通信侧的身份认证 网络中一个实体向另一个实体证明他的身份,服务端的身份认证,客户端的身份认证,Alice 证明她就是 Alice Thread Model # 攻击者如何破坏通信安全 窃听 # 嗅探,记录信道通信报文 篡改,插入,删除通信报文 Playback Attack # 攻击者把以前发过的消息又发了一遍 Suppress-replay Attack # 抑制-重放攻击 Cryptography # cryptography,密码学,网络安全的基石 ...