http

url输入到输出的过程

1. 构建请求
构建请求行,请求行包括请求方法、请求http版本、URI
Get/Http/1.0
2. 查找强缓存
检查强缓存,命中则直接使用,否则检查协商缓存
3. DNS解析
域名与IP地址映射
4.建立tcp连接
chrome限制同一域名下最多6个tcp连接
+ 通过三次握手建立连接
三次握手过程:
1.客户端向服务器发送连接请求,传递一个数据包syn,此时客户端处于SYN_SEND状态
2.服务器接收syn报文后,会以自己的syn报文作为应答,传递数据包syn+ack,此时服务器处于SYN-REVD状态
3.客户端接收syn报文后,发送一个数据包ack,此时客户端处于ESTABLISHED状态,双方已建立连接
+ 进行数据传输
+ 通过四次挥手断开连接
四次挥手过程:
1. 客户端发送一个FIN报文,报文中指定一个序列号,此时客户端处于FIN_WAIT1状态,等待服务器确认
2. 服务器接收到FIN后,会发送ACK确认报文,表明已经收到客户端报文,此时服务端处于CLOSE_WAIT2状态
3. 服务器发送FIN,告诉客户端想断开连接,此时服务端处于LAST_CHECK阶段
4. 客户端收到FIN后,一样发送一个ACK作为应答,此时客户端处于TIME_WAIT阶段。需要过一段时间确认服务端收到自己的ACK报文
后才会进入CLOSED状态
5.发送http请求
6.网络响应
7.浏览器解析和渲染
分为构建dom树、样式计算、生成布局树。
8.生成布局
触发回流和重绘

tcp和udp区别

tcp只能一对一通信,udp可以一对一、一对多、多对多通信,即支持多播和广播
tcp首部开销消耗32字节,udp仅消耗8个字节
tcp适合对数据安全性要求高的场景,比如文件传输,udp适合对数据实时性要求高的场景,比如视频通话、语音通话
tcp是有状态连接,udp是无状态的连接
tcp-可靠传输 udp-不可靠传输
tcp-面向字节流 udp-面向报文

tcp怎么保证可靠性

1. 超时重传机制
2. 对失序数据进行重排序
3. 应答机制
4. 滑动窗口
5. 拥塞控制

http请求有哪几种

http1.0:get、post、head

http1.1:put、delete、connect、trace、options

简单请求:

  1. 请求method只能是get、post、head

  2. 请求头只能是accept/accept-language/content-language/content-Type

  3. content-Type只能是text/plain、multipart/form-data、application/x-www-form-urlencoded

 

http和https区别

http基于TCP/IP协议,https基于SSL/TLS协议
http默认端口号为80,https默认端口号为443
https安全性更强,需要CA证书
https可以防止运营商劫持

http状态码

列举一些常见状态码即可

200-请求成功
301-永久重定向
302和307-临时重定向
400-当前请求不能被服务器理解或请求参数有误
401-请求需要认证或认证失败
403-服务器禁止访问
404-资源未找到
405-方法未允许
500-内部服务器错误
502-网关错误
503-服务器处于超负载或停机维护

 

 
posted @ 2020-07-15 22:51  把我当做一棵树叭  阅读(140)  评论(0)    收藏  举报