美文网首页
iOS 网络请求通信TCP,HTTPS

iOS 网络请求通信TCP,HTTPS

作者: iOS小童 | 来源:发表于2019-05-22 17:17 被阅读0次

网络请求通信TCP,HTTPS

我们向服务器发送请求的操作

  1. DNS查询-----> DNS(Domain Name System)域名解析系统,计算机之间的通信不认识域名,只能认识IP,所以DNS就是网络请求的第一步,通过域名获取IP
  2. CDN/边缘服务器解决方案-----> 内容分发网络将延迟最小化
  3. SSL握手----->SSL握手主要是验证服务器证书,同时共享用于通信的随机密钥。握手相当耗时,应遵循以下最佳实践:
  • 最大程度的减少应用发起的连接数
  • 请求结束不要关闭HTTPS链接
  • 使用域分片
  1. 请求----->
  2. 服务器响应 <-----

服务器优化

  1. 使用多个数据中心,让服务器在地理上分散开来,更贴近用户
  2. 使用CDN提供静态内容
  3. 使用接近的边缘服务器来提供动态内容
  4. 避免使用多个域名

请求优化

  1. 不要为每个操作单元都进行一次请求,使用批量请求。
  2. 使用持续的HTTP链接,它们有助于最大限度的减少TCP和SSL握手的消耗
  3. 在任何可以的情况下都是用HTTP/2
  4. 是用HTTP缓存头设置正确的缓存级别

数据格式优化

  1. 是用数据压缩
  2. 选择正确的数据格式:例如JSON

HTTPS所属层:

  • HTTP:应用层
  • TSL/SSL:安全层
  • TCP:传输层
  • IP:网络层
  • 网络接口:数据链路层

TCP三次握手

  • 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。

  • 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

  • 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

HTTP和HTPPS的区别

  1. HTPPS协议需要到ca申请证书,一般免费证书很少,需要交费。
  2. HTTP是超文本传输协议,信息是明文传输,HTPPS 则是具有安全性的ssl加密传输协议。
  3. HTTP和HTPPS使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  4. HTTP的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。

URI:服务器资源名被称为统一资源标识符:(Uniform Resource Identifier,URI)。有两种形式:URL和URN。

URL:统一资源定位符石资源标识符最常见的形式,URL描述了一台特定服务器上某资源的特定位置

URN:统一资源名作为特定内容的唯一名称使用的,与目前的资源所在地无关。通过URN还可以用同一个名字通过多种网络访问协议来访问资源

相关文章

  • iOS 网络请求通信TCP,HTTPS

    网络请求通信TCP,HTTPS 我们向服务器发送请求的操作 DNS查询-----> DNS(Domain Name...

  • iOS http https udp tcp dns cooki

    iOS http https udp tcp dns cookie/session讲解 http几个请求方式 请求...

  • HTTPS

    iOS客户端校验https网络请求证书 iOS开发 支持https请求以及https请求的抓包 NSURLConn...

  • MFC网口编程

    Socket套接字通信 TCP UDP详解(网络通信)[https://blog.csdn.net/qq_4179...

  • UMeng分享缩略图http问题

    /** * 当前网络请求是否用https * @discuss 针对ios9系统以后强制使用https的网络请求,...

  • 你需要知道的TCP/IP

    前言 TCP/IP 协议 是网络通信的基石,TCP/IP 协议 不是只有 TCP 和 IP 协议,它是整个网络通信...

  • iOS之Https网络请求

    HTTPS HTTPS: Hyper Text Transfer Protocol over Secure Soc...

  • Android网络编程

    Android网络编程 基于TCP协议的网络通信 TCP/IP通信协议是一种可靠的网络协议,它在通信的两端各建立一...

  • 网络请求(HTTP协议)小结

    iOS开发网络篇—网络请求(HTTP协议)小结 1. 聊一下HTTP协议(协议的完整的通信过程) 2.通信过程 1...

  • 微信小程序开发:http请求

    在微信小程序进行网络通信,只能和指定的域名进行通信,微信小程序包括四种类型的网络请求。 普通HTTPS请求(wx....

网友评论

      本文标题:iOS 网络请求通信TCP,HTTPS

      本文链接:https://www.haomeiwen.com/subject/keguzqtx.html