前言
大学老师曾经说过,计算机界有三本天书,分别是:数据结构、计算机组成原理、计算机网络。所以网络也是我们从事计算机开发必须了解且掌握的一门技术
网络七层模型
- 应用层
访问网络服务的端口,如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 - 列表项目