http理论

  • 跨域资源共享(CORS)是一种机制
  • http是tcp/ip协议族的子集

tcp/ip协议族

  • tcp/ip协议族分为:应用层、传输层、网络层、数据链路层
    • 为什么分层:如果互联网只由一个协议统筹,某个地方需要改变设计时,就必须把所有部分整体替换掉。而分 层之后只需把变动的层替换掉即可。把各层之间的接口部分规划好之 后,每个层次内部的设计就能够自由改动了。
  • 应用层
    • 决定了向用户提供应用服务时通信的活动
    • TCP/IP 协议族内预存了各类通用的应用服务。比如,FTP(文件传输协议)和 DNS(域名系统)服务、http。
  • 传输层
    • 对上层应用层,提供处于网络连接中的两台计算机之间的数据传输
    • 传输层有两个性质不同的协议:TCP传输控制协议、UDP用户数据报协议
  • 网络层/网络互连层
    • 用来处理在网络上流动的数据包。
    • 数据包是网络传输的最小数据单位。
    • 该层规定了通过怎样的路径(传输路线)到达对方计算机,并将数据包传送给对方
  • 链路层(数据链路层、网络接口层)
    • 处理连接网络的硬件部分
    • 包括:控制操作系统、硬件设备驱动、NIC(网络适配器即网卡)、光纤等物理可见部分
  • tcp/ip通信传输流
    • 利用 TCP/IP 协议族进行网络通信时,会通过分层顺序与对方进行通 信。发送端从应用层往下走,接收端则往应用层往上走。 
    • 首先作为发送端的客户端在应用层 (HTTP 协议)发出一个想看某个 Web 页面的 HTTP 请求
    • 接着,为了传输方便,在传输层(TCP 协议)把从应用层处收到的数 据(HTTP 请求报文)进行分割,并在各个报文上打上标记序号及端 口号后转发给网络层。
    • 在网络层(IP 协议),增加作为通信目的地的 MAC 地址后转发给链 路层。这样一来,发往网络的通信请求就准备齐全了。
    • 接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用 层。当传输到应用层,才能算真正接收到由客户端发送过来的 HTTP 请求。
    • 发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息。反之,接收端在层与层传输数据时,每经过一层时会把对应的首部消去。这种把数据信息包装起来的做法称为封装(encapsulate)
  • 负责传输的ip协议
    • 按层次分,ip位于网络层。它是一种协议的名称,并不同传统意义上的ip地址
    • ip协议的作用是把各种数据包传送给对方。但是,能否确实传送到想要的对方?需要满足各种条件,其中有2个重要条件就是IP地址和MAC地址
      • ip和MAC地址的区别:
        • IP地址指明节点被分配到的地址。
        • MAC地址指网卡所属固定地址。
        • ip可以和mac地址配对,ip可更换,mac地址基本不会改
        • ip间通信依赖MAC地址
      • ARP协议
        • 在网络上,通信的双方在同一局域网(LAN)内的情况是很少的,通常是经过多台计算机和网络设备中转 才能连接到对方。
        • 而在进行中转时,会利用下一站中转设备的 MAC 地址来搜索下一个中转目标。这时,会采用 ARP 协议(Address Resolution Protocol)
        • ARP 是一种用以解析地址的协议,根据通信方的 IP 地址就可以反查出对应的 MAC 地址。
    • 路由选择
      • 在到达通信目标前的中转过程中,那些计算机和路由器等网络设备只能获悉很粗略的传输路线
      • 有点像快递公司的送货过程。想要寄快递的人,只要将自己的货物送到集散中心,就可以知道快递公 司是否肯收件发货,该快递公司的集散中心检查货物的送达地址,明确下站该送往哪个区域的集散中心。接着,那个区域的集散中心自会判断是否能送到对方的家中
      • 无论哪台计算机、哪台网络设备,它们 都无法全面掌握互联网中的细节 
  • 确保可靠性的tcp协议
    • tcp位于传输层,提供可靠的字节流服务
    • tcp协议为了更容易传送大数据把数据分割,能确认数据是否送达对方
      • 确认数据送达
        • 为了准确送达,tcp采用三次握手策略。握手过程中使用了tcp的标志--syn和ack
        • 发送端先发送一个带syn标志的数据包给对方。
        • 接收端收到后,回传一个带syn/ack标志的数据包,以示传达确认信息
        • 最后发送端再回传一个带ack标志的数据包,代表握手结束
        • 如果握手过程中某个阶段莫名中断,tcp协议会再次以相同顺序发送相同数据包
  • 负责域名解析的DNS服务
    • DNS是和http协议一样位于应用层的协议。提供域名到ip地址之间的解析服务。
    • 计算机可被赋予ip地址,也可被赋予主机名和域名,如www.xxx.com
    • DNS提供通过域名查找IP地址,或逆向从IP地址反查域名的服务
  • 总结 

URI和URL

URI统一资源标识符 和 URL统一资源定位符

  • URI 就是由某个协议方案表示的资源的定位标识符。协议方案是指访问资源所使用的协议类型名称。采用 HTTP 协议时,协议方案就是http。除此之外,还有ftp、mailto、telnet、file 等。标准的URI协议方案有30多种.
  •  

URI 用字符串标识某一互联网资源,而 URL 表示资源的地点(互联 网上所处的位置)。可见 URL 是 URI 的子集。

HTTP

  • 请求报文是由请求方法、请求 URI、协议版本、可选的请求首部字段 和内容实体构成的。
  • 响应报文基本上由协议版本、状态码(表示请求成功或失败的数字代码)、用以解释状态码的原因短语、可选的响应首部字段以及实体主体构成
  • http是一种不保存状态,即无状态的协议。
    • HTTP 协议自身不对请求和响应之间的通信状态进行保存
    • http是无状态的,但是可以有会话
      • 比如在一个电商网站里,用户把某个商品加入到购物车,切换一个页面后再次添加了商品,这两次添加商品的请求之间没有关联,浏览器无法知道用户最终选择了哪些商品
      • 使用HTTP的头部扩展Cookies就可以解决这个问题。把Cookies添加到头部中,创建一个会话让每次请求都能共享相同的上下文信息,达成相同的状态
  • http的method
    • get,获取资源
    • post,传输实体主体
    • put,传输文件,存在安全性问题
    • head,获取报文首部。用于确认 URI 的有效性及资源更新的日期时间等
    • delete,删除文件,存在安全性问题
    • options,询问服务端支持的method
    • trace,追踪路径
    • connect,要求用隧道协议链接代理
  • http持久连接
    • 持久连接旨在建立1次TCP连接后进行多次请求和响应的交互,减轻了服务器端的负载
    • 管线化:不用等待响应,直接发送下一个请求
  • 对称加密,证书多级颁发、浏览器内置带公钥的证书,证书内置公钥和发送方的签名
  • 对称加密私钥的生成:客户端随机生成premaster key,发给服务端,服务端随机生成key发给客户端,
  • 业务数据传输需要对称加密的key,对称加密的key通过不对称加密拿到
  • http2开放tcp的复用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值