网络七层协议
应用层 表示层 会话层 传输层 网络层 数据链路层,物理层
TCP和UDP区别
TCP: 面向连接的服务,在传输数据之前必须建立连接,数据传输完成后要释放连接。因此TCP是一种可靠的运输服务
UDP:在传输数据前不需要建立连接,受到UDP保温后也不需要给出确认。UDP不提供可靠交付,省去了很多开销
TCP三次握手:
客户端发送syn报文,并置发送序号为X SYN = 1 Seq = x
服务器发送syn+ack报文 并设置发送需要为Y,确认序号为X+1 SYN = 1, Ack = X+1 sql = Y
客户端发送ACK报文和seq ACK = Y+1 sql = z
TCP四次挥手
1.主动方发送FIN和ACK报文,并设置发送序号为X
2.被动阀发送ACK报文,并设置发送序号为Z在确认序号为X+1
3.被动方发送FIN+ACK报文被设置发送需要为Y,在确认序号为X
4.主动方发送ack报文并设置发送序号为X,确认序号为Y
URI和URL的区别
URI 是uniform resource identifier 统一资源标识符
URL是 uniform resource locator 统一资源定位符
常见的HTTP方法有哪些
GET:请求访问资源
POST:传输信息给服务器
PUT:传输文件
HEAD:获取报文首部
DELETE:删除文件
OPTIONS:查询相应的URI支持的http方法
HTTP请求报文与相应报文格式
请求报文包括四部分:
请求行 包含请求方法,URI,HTTP版本信息
请求首部字段
请求内部实体
空行
响应报文:
1.状态行 包括HTTP版本,状态码,状态码的原因短语
2.响应首部字段
3.响应内容字段
4.空行
HTTP请求报文中使用的首部字段
1.Accept 通知客户端能够处理的媒体类型 例如 text/html
2.accept-charset:通知服务器支持的字符集
3.Accept-Encoding 告诉服务器支持的内容编码
4.Accept-Language:告诉服务器能够处理的自然语言集
5Host:告知服务器,请求资源所处的互联网主机名和端口号
6 if_Match:if-xxx这种形式的请求首部字段,都可以成为条件请求,服务器接收到附带条件的请求后,只有判断制定条件为真时,才会执行请求。
7.if-Modified-since 制定日期后,资源发生更新,服务器才会接受请求
8 Range bytes=5001-10000 只获取部分资源请求
9.referer 告诉服务器请求的原始资源的URI
10 User-Agent 用于传达浏览器类型
响应首部字段
Accept-Ranges 告知客户端是否能处理范围内请求,以获取制定服务器
ETag:告知客户端实体标识,他是将资源以字符串的形式做唯一性标识的方式,服务器为每一份资源分配对应的Etag
Location:将响应的接收方引导直某个与请求URI位置不同的资源
Server:HTTP服务器的安装信息
实体首部自段
Content-Encoding 告知客户端服务器对实体的主题部分选中的编码方式
content-language 告知客户端,实体主体使用的自然语言
Content-length 告知客户端实体主体的大小
Content-location :报文主体返回资源对应的URI
Content-range:返回响应时使用的首部字段
content-type:实体主体内对象的媒体类型
HTTPS原理
1.客户端请求服务器
2.服务器中CA颁发的证书,包含公钥和私钥
3.服务器将公钥发送给客户端
4.客户端对公开加密信息进行验证,通过后生成随机数
5对随机数进行公钥加密,然后传输到服务器端
6.服务器使用私钥进行解密,获取随机数
7.将内容使用随机数进行加密,传输给客户端
8.客户端受到内容,使用随机数key进行解密