计算机网络

百度中输入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

原文地址:https://www.cnblogs.com/it-xian/p/10176542.html