翻墙(安装xx-net)

  1. 下载安装包

  2. 设置IPv6 win7

  3. 全局PAC智能代理

  4. 申请appID(可能的话)

  5. xx-net1-160302|xx-net2-160302


TCP/IP

TCP

TCP/IP 协议分层模型

OSI七层协议模型、TCP/IP四层模型

  • 物理层将二进制的0和1和电压高低,光的闪灭和电波的强弱信号进行转换

  • 链路层代表驱动

  • 网络层

    • IP 协议基于 IP 转发分包数据
    • IP 协议是个不可靠协议,不会重发
    • IP 协议发送失败会使用ICMP 协议通知失败
    • ARP 解析 IP 中的 MAC 地址,MAC 地址由网卡出厂提供IP 还隐含链路层的功能,不管双方底层的链路层是啥,都能通信
  • 传输层

    • 通用的 TCP 和 UDP 协议
    • TCP 协议面向有连接,能正确处理丢包,传输顺序错乱的问题,但是为了建立与断开连接,需要至少7次的发包收包,资源浪费
    • UDP 面向无连接,不管对方有没有收到,如果要得到通知,需要通过应用层会话层以上分层
    • TCP/IP 分层中,会话层,表示层,应用层集中在一起
  • 应用层

    • 网络管理通过 SNMP 协议

TCP三次握手和四次挥手

三次握手

  • 客户端–发送带有SYN标志的数据包–一次握手–服务端
  • 服务端–发送带有SYN/ACK标志的数据包–二次握手–客户端
  • 客户端–发送带有带有ACK标志的数据包–三次握手–服务端

四次挥手

  • 客户端-发送一个FIN,用来关闭客户端到服务器的数据传送
  • 服务器-收到这个FIN,它发回一个ACK,确认序号为收到的序号加1 。和SYN一样,一个FIN将占用一个序号
  • 服务器-关闭与客户端的连接,发送一个FIN给客户端
  • 客户端-发回ACK报文确认,并将确认序号设置为收到序号加1

HTTP

状态码

2XX 成功

  • 200 OK,表示从客户端发来的请求在服务器端被正确处理
  • 204 No content,表示请求成功,但响应报文不含实体的主体部分
  • 206 Partial Content,进行范围请求

3XX 重定向

  • 301 moved permanently,永久性重定向,表示资源已被分配了新的 URL
  • 302 found,临时性重定向,表示资源临时被分配了新的 URL
  • 303 see other,表示资源存在着另一个 URL,应使用 GET 方法丁香获取资源
  • 304 not modified,表示服务器允许访问资源,但因发生请求未满足条件的情况
  • 307 temporary redirect,临时重定向,和302含义相同

4XX 客户端错误

  • 400 bad request,请求报文存在语法错误
  • 401 unauthorized,表示发送的请求需要有通过 HTTP 认证的认证信息
  • 403 forbidden,表示对请求资源的访问被服务器拒绝
  • 404 not found,表示在服务器上没有找到请求的资源

5XX 服务器错误

  • 500 internal sever error,表示服务器端在执行请求时发生了错误
  • 503 service unavailable,表明服务器暂时处于超负载或正在停机维护,无法处理请求

从url输入到页面展示

  1. 应用层DNS解析域名:客户端先检查本地是否有对应的IP地址,若找到则返回响应的IP地址。若没找到则请求上级DNS服务器,直至找到或到根节点

  2. 浏览器与服务器建立TCP连接(默认端口80)(详细点可以说下三次握手的过程)

  3. 应用层客户端发送HTTP请求

  4. 服务器响应请求:查找客户端请求的资源,并返回响应报文,响应报文中包括一个重要的信息——状态码(200-300,成功;304使用缓存)

  5. 服务器返回相应文件给浏览器

  6. TCP连接释放(可以说下四次挥手的过程)

  7. 浏览器对HTML文件进行解析构建DOM树,构建渲染树,js根据DomAPI操作执行绑定事件等,页面显示完成