http协议的请求方法:
get:
post:
head:
head像get一样,只不过服务器接收到HEAD请求后只需返回响应头,而不会发送响应内容。当需要查看某个页面的状态的时候,使用HEAD是非常高效的,因为在传输的过程中省略了页面内容。
请求头部:请求头部由关键字/值对组成,每行一对,请求头部通知服务器有关客户端请求信息,典型的请求头有
User-Agent:产生请求的浏览器类型
Accept:客户端课识别的内容类型列表
Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机,。
空行:
最后一个请求头之后是一个空行,发送回车换行,通知服务器以下不再有请求头。、
请求数据:
请求数据不在GET方法中使用,而是在POST方法中使用,POST方法适用于需要客户填写表单的场合,与请求数据相关的最常用的请求头是Content-Type和Content-Length。
响应报文:
响应行:协议版本、响应状态码、状态码描述
1XX:消息
2XX:成功
3XX:重定向
4XX:请求错误
5XX、6XX:服务器错误
200 OK :客户端请求成功
400 BadRequest:客户端请求有语法错误,不能被服务器所理解
401:unauthorized:请求未经授权,这个状态码WWW-Authenticate 报头域一起使用
403:服务器收到请求,但是拒接服务
404:请求资源不存在
500: Internal Server Error:服务器发生不可预期得错误
503:Server Unavailable:服务器当前不能处理客户端得请求,一段时间后,可能恢复正常。
- 常用的HTTP方法有哪些?
GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器
POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。
PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置。
HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。
DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件。
OPTIONS:查询相应URI支持的HTTP方法。
2、HTTP的缺点与HTTPS
、通信使用明文不加密,内容可能被窃听
b、不验证通信方身份,可能遭到伪装
c、无法验证报文完整性,可能被篡改
HTTPS就是HTTP加上加密处理(一般是SSL安全通信线路)+认证+完整性保护
传输层的功能:
- 运输层向高层用户屏蔽了下面网络核心部分的细节
- 它使得应用进程看见的是在两个运输实体之间有一条端到端的逻辑通信信道
IP协议提供的是主机之间的逻辑通信
TCP/UDP协议的作用范围提供应用进程之间的逻辑通信
TCP:提供尽最大努力交付服务,这种通信相当于一条全双工的可信信道
UDP:无连接的,不可靠的信道
TCP特点:
- 面向服务的
- 可靠的数据传送服务,拥塞控制服务,传送的数据单位是TCP报文段
UDP :特点:
- 无连接、高效率
- 传输的数据单元是UDP报文,或者用户数据报
运输层的多路复用(源端发送)
指多个应用进程基于一个运输层协议发送数据。
多路分用:
在接收方,由一个运输成协议将报文中的数据交给不同的应用进程。
UDP协议的特点:
- UDP是面向无连接的
- UDP是尽最大努力交付的,不保证可靠交付
- UDP没有有拥塞控制,不会使源主机的发送速率降低,允许拥塞控制,造成丢失,不允许大时延。
- UDP是面向报文的,发送方UDP从应用层交付下来的报文,既不合并也不拆分,而是保留这些报文的边界,应用层交给UDP多长的报文,UDP就照样发送,即一次只发送一个报文,接收方UDP对IP层上交的UDP用户数据报原封不动的交付给上层的应用进程,一个交付给一个完整的报文。
- UDP支持一对一,一对多,多对一】多对多的交互通信
- UDP首部固定是8byte,开销小,处理时延小
首部、源端口、目的端口、长度和检验和
TCP协议的特点:
- TCP的面向连接的
- TCP提供可靠的交付方式
- TCP是面向字节流的
字节流指流入到进程或从进程流出的字节序列
TCP不保证接受进程收到的数据块和发送的数据块具有对应的大小关系
TCP保证接受进程和发送进程的字节流完全一致
TCP可靠传输技术
TCP所依赖发的是IP服务是尽最大努力交付不可靠的服务
TCP可靠传输技术能确保一个进程收到的数据流是无差错、无丢失、不重复、不失序
TCP的流量控制:
用于防止放松方发送过快,从而使接收方无法接收。
实现:使用序号确认、超时重传、滑动窗口、等可靠的数据传输机制、
序号和确认:面向字节流的编码
流量控制:大小可变的滑动窗口
TCP连接的三个阶段:连接建立、数据传输、连接释放
TCP的连接都是采用C/S方式
MSL最大报文段寿命,指任何报文段被丢弃前在网络中传输的最大时间
作用一:为了保证发送的最后一个报文段能够到达B
作用二:防止已失效连接请求报文段出现在本次连接中
服务器端口:1、LISTENING 2、ESTABLISHED 3、CLOSE_WAIT
客户端的状态变化:
- SYN_SENT 2、ESTBLISHED TIME_WAIT
拥塞控制:
网络资源:链路带宽容量、交换节点的缓存容量、CPU处理能力
拥塞: 某段时间内对网络中某资源的请求超过劳改资源所能提供的可用部分,性能变坏,拥塞
拥塞控制对付的链路和路由器
拥塞控制的方式:
- 慢开始2、拥塞避免、3、快重传、4、快恢复
ssthresh 门限值
超时 乘法减小 加法增大进入拥塞避免。
从体系层次观点考查网络互联
物理层:在电缆段之间复制比特信号(无地址)
中继系统是转发器或网桥时,不称之为网络互联,因为这仅仅是把一个网络扩大了,而这仍然是一个网络。
互联网都是指用路由器进行互联地网络。
互联
因特网采用了一种与机器无关、操作系统无关、语言无关,中立的中继系统(IP系统)来解决异构网络互联问题。
网络称提供两种服务:
无连接的网络服务:数据报服务
在网络层无呼叫建立
路由器:没有端到端连接的状态
分组使用目的主机地址转发
相同和目的对,可能采用不同的路径。
面向连接的服务“虚电路服务:
一条VC 由下列组成:
1、 从源到目地的路径
2、VC号是i博爱是沿路径每条链路的号码
3、沿路径种路由器转发表中的项
属于VC的分组携带一个VC号
每条链路的VC号必须改变
新的VC号来自转发表
数据报服务和虚电路服务优缺点的归纳
套接字
当应用进程需要使用网络进行通信的时就发出系统调用,请求操作系统为其创建“套接字”,以便把网络通信所需要的系统资源分配给该应用进程。操作系统为这些资源的总和用一个叫做套接字描述符的符号来表示, 并把此号码返回给应用进程。应用进程所进程的网络操作都必须使用这个号码。通信完毕后,应用进程通过一个关闭套接字的系统调用,通知操作系统回收与该“号码”相关的所有资源。