前言
大学老师曾经说过,计算机界有三本天书,分别是:数据结构、计算机组成原理、计算机网络。所以网络也是我们从事计算机开发必须了解且掌握的一门技术
网络七层模型
- 应用层
访问网络服务的端口,如 HTTP 传输‘hello,world’ - 表示层
提供数据格式转换 - 会话层
建立端连接并提供访问验证 如 SSL/TLS 认证 - 传输层
UDP/TCP +‘hello,world’ - 网络层
IP + UDP/TCP +‘hello,world’ - 数据链路层
MAC 地址 + IP + UDP/TCP +‘hello,world’+ 帧尾 - 物理层
传输二进制 01010101001
HTTP
-
请求 / 相应报文
** 请求报文包括:** 请求方法 URL 协议版本 HTTP1.0 首部字段名 请求体(POST 请求)** 响应报文包括:** 版本 状态码 短语 首部字段名 响应实体
-
请求方法
GET:代表获取资源 特点:安全:不应该引起 Server 端的任何状态变化 幂等:请求多次的结果一样 可缓存:代理服务器可以缓存
POST:
代表处理资源 特点:不安全 不幂等 不可缓存
HEAD
OPTION
PUT -
状态码
200:请求成功
300:
请求重定向
400:
由于客户端请求地址和参数引用的失败
500:
服务端原因
-
连接接建立流程
TCP:三次握手、四次挥手
-
HTTP 特点
无连接:每次请求都需要建立 TCP 连接
无状态
不会保存记录用户的信息和状态
-
解决 HTTP 无连接问题
在同一条 TCP 上面产生多次 HTTP 请求
头部字段(Header):Connection:keep-live Time: 20 在一定时间内不需要再次建立 TCP 连接 Max:在建立连接时间内最多请求次数
判断一个请求的结束?
Content-length 空 chunked
- 解决 HTTP 无状态问题
解决方案:Cookie / Session - 列表项目