iOS-网络编程(HTTP的概述与请求包,响应包结构)

1.数据的传输与格式

  • 首先我们来了解一下C/S,B/S系统架构:
    C/S:(client-server) B/S:(browser-server)


    iOS-网络编程(HTTP的概述与请求包,响应包结构)_第1张图片

    服务器(后端)开发语言:
    Java .Net C/C++ PHP Ruby Python

  • 数据的传输
    服务器端的数据是分成一个个单个的数据包传入客户端.


    iOS-网络编程(HTTP的概述与请求包,响应包结构)_第2张图片
  • 客户端与服务器做数据传输,数据必须约定使用同一种格式


    iOS-网络编程(HTTP的概述与请求包,响应包结构)_第3张图片

2.HTTP协议的概念

  • 全称"超文本传输协议",浏览器与服务器之间的通信规则
  • HTTP协议永远都是客户端发起请求,服务器回送响应。


    iOS-网络编程(HTTP的概述与请求包,响应包结构)_第4张图片

3.HTTP协议----请求包,响应包

  • 客户端发送一个HTTP请求,是向服务器提交了一个HTTP请求包
  • 服务器收到请求之后,向客户端回应一个HTTP响应包
iOS-网络编程(HTTP的概述与请求包,响应包结构)_第5张图片

4 HTTP协议----请求方式

  • GET请求:是向服务器索取数据的一种请求方式 ,如获取一个电影列表的数据
  • POST请求:向服务器提交数据的一种请求方式 ,如注册用户,用户登录

5 HTTP协议----请求包结构

  • HTTP请求包结构:HTTP请求头, HTTP请求体(POST才有),url ,如图:


    iOS-网络编程(HTTP的概述与请求包,响应包结构)_第6张图片
  • GET\POST请求,客户端向服务器端提交的数据,可以放入请求体或URL后面
  • 请求体中的数据格式:JSON、XML、&符号拼接(主要),如图:


    iOS-网络编程(HTTP的概述与请求包,响应包结构)_第7张图片

6 HTTP协议----响应包结构

  • HTTP响应包结构:响应头,响应体
  • HTTP响应有个状态码:标志响应的结果,200表示成功,404未找到页面
  • 服务器通过响应包将数据发送给客户端,数据主要在响应包的响应体中,而数据格式可以用:JSON(主要)、XML
  • 响应头中的Content-Type表示响应体中数据的类型:text/html、application/json、text/json、text/xml、image/jpeg等,如下图:


    iOS-网络编程(HTTP的概述与请求包,响应包结构)_第8张图片

7 同步 异步请求

  • 同步请求: 数据的请求过程是在主线程执行的,网络数据传输的过程会导致主线程堵塞
  • 异步请求:数据的请求过程在多线程执行,保存主线程的流畅性
  • UI界面的渲染与刷新在主线中执行,主线程不流畅会导致UI界面卡顿

你可能感兴趣的:(iOS-网络编程(HTTP的概述与请求包,响应包结构))