美文网首页
iOS网络:协议基础知识-2020-08-26-周三

iOS网络:协议基础知识-2020-08-26-周三

作者: 勇往直前888 | 来源:发表于2020-08-26 16:35 被阅读0次

基本模式

  • 客户端(Client):移动应用(iOS、android等应用)
  • 服务器(Server):为客户端提供服务、提供数据、提供资源的机器
  • 请求(Request):客户端向服务器索取数据的一种行为
  • 响应(Response):服务器对客户端的请求做出的反应,一般指返回数据给客户端
image.png

HTTP协议

即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。

image.png

请求

image.png

响应

image.png

常见的状态码

image.png

URL

image.png

TCP三次握手

image.png

在TCP三次握手之后,建立了TCP连接,此时HTTP就可以进行传输了。一个重要的概念是面向连接,既HTTP在传输完成之前并不断开TCP连接。在HTTP1.1中这是默认行为。

GET和POST

image.png image.png

其实,在实际的移动开发中,统一使用POST进行数据传输就可以了,处理起来也更方便。

iOS中发送HTTP请求的方案

image.png

在实际项目中,一般用AFNetworking;在某些场合也可以使用NSURLSection自己写。

HTTPS

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

image.png
  1. https协议需要到ca申请证书,一般免费证书很少,需要交费。

  2. http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。

  3. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

  4. http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

HTTP 2.0

HTTP/2 源自 SPDY/2,SPDY 系列协议由谷歌开发,于 2009 年公开。它的设计目标是降低 50% 的页面加载时间。当下很多著名的互联网公司,例如百度、淘宝都在自己的网站或 APP 中采用了 SPDY 系列协议(当前最新版本是 SPDY/3.1),因为它对性能的提升是显而易见的。主流的浏览器(谷歌、火狐、Opera)也都早已经支持 SPDY,它已经成为了工业标准,HTTP Working-Group 最终决定以 SPDY/2 为基础,开发 HTTP/2。

  • HTTP2.0相对HTTP1.1的优势是什么?
  1. 相同的Host占用一个TCP链接

  2. 请求可以设置优先级

  3. 采用二进制协议,而不是之前的文本协议

  4. 多路复用

  5. 头部压缩

  • iOS怎么支持?
  1. 苹果从iOS9开始支持HTTP2.0,对iOS开发人员来说,即是iOS9开始,NSURLSession可以支持HTTP2.0。

  2. 因为苹果已经打算废弃NSURLConnection,所以NSURLConnection不能支持HTTP2.0。

  3. UIWebView也不能支持HTTP2.0(当然,如果你使用UIWebView,然后使用NSURLProtocol,在NSURLProtocol中使用NSURLSession,这样也是可以支持HTTP2.0的),WKWebView是可以的。

说白了,就是什么也不用做,最低支持版本iOS9,用NSURLSession、WKWebview就可以了。

参考文章

相关文章

  • iOS网络:协议基础知识-2020-08-26-周三

    基本模式 客户端(Client):移动应用(iOS、android等应用) 服务器(Server):为客户端提供服...

  • TCP

    聊聊iOS中网络编程长连接的那些事 网络编程基础知识: 简述传输层协议TCP和UDP的区别总结:TCP协议在传送数...

  • iOS Object—c 面试基础复习整理 一

    iOS开发需要扎实的计算机基础知识,包括基础的算法和数据结构,常用设计模式,网络通信协议,数据安全;其次要求iOS...

  • HTTP协议笔记

    HTTP协议笔记 标签(空格分隔): HTTP,TCP/IP [TOC] 1.网络协议基础知识 TCP/IP协议族...

  • 文章笔记

    TCP/IP协议(一)网络基础知识 TCP/IP协议(二)tcp/ip基础知识 字符编码常识及问题解析 代码命名的...

  • 2019-04-04 网络与信息安全基础知识

    主要考点:计算机网络基础知识、计算机网络分类、网络设备、网络标准、网络协议、TCP/IP 协议族、网络安全、网络信...

  • iOS网络协议----HTTP/TCP/IP浅析

    iOS网络协议----HTTP/TCP/IP浅析

  • Android网络中篇:Http与Https详解

    一、基础知识 1、TCP/IP协议族 IP协议:网络层协议,保证了计算机之间可以发送和接收数据。 TCP协议:传输...

  • 关于ajax

    关于ajax 1. 基础知识 网络协议: 通讯的标准 应用层协议: http, https, ftp, ... h...

  • 接口测试1--理论基础

    本节内容 接口及接口测试 网络基础知识:IP,域名, DNS及端口 网络基础知识:OSI七层模型及TCP协议 HT...

网友评论

      本文标题:iOS网络:协议基础知识-2020-08-26-周三

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