计算机网络
百度中输入www.xiaodianying.com.cn,到页面展示过程中发生了什么不可告人的事情?
1.通过DNS域名服务器对网址进行解析,解析ip+port
2.建立连接---tcp三次握手
3.发送请求---http的get与post
4.接受响应---http的get与post
5.加载---渲染
6.断开连接---tcp四次挥手
为什么Android手机总是要比ios更容易卡?
内存管理机制
HTTP:超文本传输协议
HTTP1.0 与 HTTP1.1的区别?
Http1.1引入长连接机制keep-alive
HTTP与HTTPS的区别?
HTTP+S(ssl)==HTTPS
ssl:加密文件
验证服务器身份
传输数据加密:防止传输数据被篡改/截取
认证CA。。。。》收费
后者更安全
前者免费
传输速度前者更快
HTTP中get与post的区别?
get:URL
1.从服务器获取资源-----拿
2.参数存在于URL中,以?形式连接
3.大小限制为1024字节
4.相对不安全
5.相对较快
post:
1.往服务器递交数据-----给
2.参数存在于包体中
3.无大小限制
4.相对安全
5.相对较慢
tcp的三次握手与四次挥手
mark ---在不在?---老王 (第一次握手)
老王 ---我在+叫我干嘛?---mark (第二次握手)
mark ---隔壁小红找你---老王 (第三次握手)
客户端---SYN数据包---服务器
服务器---ACK数据包+SYN数据包---客户端
客户端---ACK数据包---服务器
为什么是三次握手?而不是2次或4次?
三次握手保障数据的双向传递ok,2次握手不能保障双向传递
四次握手存在冗余
为什么要四次挥手?(断开连接)
服务器向客户端发送的SYN+ACK数据包需要分别断开
TCP与UDP的区别?
iso七层模型,亦称OSI(Open System Interconnection)参考模型,是参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。它是一个七层的、抽象的模型,不仅包括一系列抽象的术语或概念,也包括具体的协议。
第七层:应用层 数据 用户接口,提供用户程序“接口”。
第六层:表示层 数据 数据的表现形式,特定功能的实现,如数据加密。
第五层:会话层 数据 允许不同机器上的用户之间建立会话关系,如WINDOWS
第四层:传输层 段 实现网络不同主机上用户进程之间的数据通信,可靠
与不可靠的传输,传输层的错误检测,流量控制等。
第三层:网络层 包 提供逻辑地址(IP)、选路,数据从源端到目的端的
传输
第二层:数据链路层 帧 将上层数据封装成帧,用MAC地址访问媒介,错误检测
与修正。
第一层:物理层 比特流 设备之间比特流的传输,物理接口,电气特性等
HTTP --应用层
tcp --传输层
udp --传输层
ip --互联网层
TCP:传输控制协议
1.传输前需要建立连接
2.具有超时重发机制
3.传输数据不带有目标地址
4.传输相对较慢
5.具有过滤机制(数据去重和校验)
UDP:用户数据报协议
1.传输前无需建立连接
2.传输数据带有目标地址
3.传输相对较快
4.传输不稳定
状态码:显示请求状态
https://yq.aliyun.com/ziliao/249117
1xx:临时响应
2xx:200,ok请求成功
3xx:重定向、302/304(呼叫转移)
4xx:客服端问题
5xx:服务器问题 500(服务器宕机)502(网关问题)
HTTP报文格式内容
请求报文:(行、头、体)
请求行:
请求方法(get/post)、请求地址(url)、协议版本(http1.1)
请求头:
user_agent:浏览器类型
accept:接收类型(*/*:所有)
accept_language:语言
accept_encoding:编码压缩格式
accept_charset:字符集
host:localhost
cookie:本地缓存
connection:连接keep-aive/断开close
请求体:
请求参数(入参)
响应报文:(行、头、体)
响应行(状态行):
状态码、reason(对状态码的解释)、协议版本(http1.1)
响应头:
date(日期)、type(类型)、length(长度)
响应体:
响应正文(出参)
cookie与session的区别?
1、cookie数据存放在客户的浏览器上,session数据存放在服务器上
2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗、考虑到安全应当使用session
3、session会在一定时间内保存在服务器上,当访问增多,会比较占用你的服务器性能、考虑到减轻服务器性能方面,应当使用cookie
4、单个cookie在客户端的限制是3k,就是说一个站点在客户端存放的cookie不能3k,同一个站点限制20个
如果信息需要考虑安全性则用session
否则建议使用cookie
fidder:抓包(数据包)工具
还有HTTPwatch、wiresark
fiddler:web端、APP、弱网测试
httpwatch:web端、测试前端性能
抓包工具原理:
通过代理服务器---转发客户端请求---接受了服务器的响应
抓包工具操作:
打开即可,监听浏览器中的所有请求与响应
浏览器打不开,重新打开fiddler,正常关闭fiddler
清屏----》Ctrl+X