iOS 网络高级编程二:HTTP并没有那么简单

来源:互联网 发布:网络远程教育可靠吗 编辑:程序博客网 时间:2024/06/15 08:07

HTTP协议 早在1990年就问世了

一、HTTP 请求步骤序列:

这里写图片描述

注意:从上图可以看初HTTP是基于TCP的

HTTP与HTTPS之间的区别在于会话的建立阶段。

  • HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

  • HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

  • SSL触发时间:TCP建立好、HTTP请求前

  • SSL会话建立包含多个阶段:客户端与服务端协商使用何种密码、交换公钥、验证协商以及验证身份(可选)。

  • 当SSL会话建立完毕之后,在TCP连接之上传输的所有数据都将是加密的。

二、有关于URL结构

通常,URL由5部分构成:
这里写图片描述
这里写图片描述
这里写图片描述

三、请求内容

HTTP请求包含 3 部分:请求行、请求头、请求体。

  • GET
  • POST
  • HEAD
  • PUT
  • DELETE

虽然使用了有状态的TCP传输层、但是HTTP是个无状态协议。这意味着HTTP服务器并不会保留某个请求的任何信息。 Cookie提供了这种简单信息存储方式。

四、响应内容

HTTP与客户端完成请求后、HTTP响应会通过TCP socket返回给客户端。HTTP响应的结构类似于HTTP请求。
HTTP响应包含:状态行、头、响应体。

这里写图片描述