名词解释:
- ip地址: 在网络中唯一标识一台主机
- port端口: 在一台主机上标识一个进程
- 协议: 通信双方的约定
- 网络协议: 网络通信唤醒中数据的约定格式
- 通信协议标准: 网络互联的前提
- 协议分层: 就是一种协议封装,便于使用,对服务,接口,协议进行明确的划分;形成标准实现起来就简单了
-
iso组织确定了osi七层参考模型
其包含:物理层,链路层,网络层,传输层,会话层,表示层,应用层 -
TCP/IP五层模型:
其包含:物理层,链路层,网络层,传输层,应用层
名称 | 作用 / 协议 / 设备 |
---|---|
物理层 | 负责光电信号传输;以太网协议;集线器 |
链路层 | 负责相邻设备之间的数据帧传输;Ethernet;交换机 |
网络层 | 负责地址管理和路有选择;IP;路由器 |
传输层 | 负责端与端之间的数据传输;TCP,UDP |
应用层 | 负责应用程序之间的数据沟通;HTTP,FTP,SMTP,DNS |
网络通信中数据的传输流程:
应用层
应用层作用:负责应用程序间的数据沟通
自定制协议
序列化:对数据对象进行持久化存储或传输时进行的按指定协议数据排列
反序列化:对持久化存储或传输的数据进行按照指定协议解析
知名协议:HTTP
- URL : 统一资源定位符
协议名称://用户名:密码@服务器地址:服务器端口/资源路径?查询字符串#片段标识符 - URL编码/解码
因为url中特殊字符都具有特殊含义,因此查询字符串(用户提交的数据)中若有特殊字符存在,则会造成二义性,因此需要对用户提交的数据进行urlencode操作
urlencode:将特殊字符转换为16进制字符串,并且在前方使用%表明两个字符是经过了编码的
urldecode:当查询字符串中出现%则认为,后序两个字符是需要进行url解码的 - HTTP协议
协议格式:首行+头部+空行+正文
- 请求首行:请求方法(GET/POST)+ URL + 协议版本 (HTTP/0.9/1.0/1.1/2)
GET和POST的区别:get所提交的数据在url中,post提交的数据在正文中 - 响应首行:协议版本 + 响应状态码 + 状态码描述
状态码:1xx(消息) 2xx(成功) 3xx(重定向) 4xx(请求错误) 5xx(服务器错误)
200:ok 请求成功
302:重定向到另一个url
404:not found 请求失败
502:bad gateway 从上游服务器收到无效响应 - 头部信息:由一个个键值对组成,每个键值对都有其含义和功能 key:val\r\nkey:val\r\n
- 空行:\r\n
- 正文: