http和https

网络七层协议

应用层 表示层 会话层 传输层 网络层 数据链路层,物理层

TCP和UDP区别

TCP: 面向连接的服务,在传输数据之前必须建立连接,数据传输完成后要释放连接。因此TCP是一种可靠的运输服务

UDP:在传输数据前不需要建立连接,受到UDP保温后也不需要给出确认。UDP不提供可靠交付,省去了很多开销

image

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

image

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原理

image

1.客户端请求服务器

2.服务器中CA颁发的证书,包含公钥和私钥

3.服务器将公钥发送给客户端

4.客户端对公开加密信息进行验证,通过后生成随机数

5对随机数进行公钥加密,然后传输到服务器端

6.服务器使用私钥进行解密,获取随机数

7.将内容使用随机数进行加密,传输给客户端

8.客户端受到内容,使用随机数key进行解密

你可能感兴趣的:(http和https)