博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS网络基础学习一:网络基础
阅读量:3730 次
发布时间:2019-05-22

本文共 2513 字,大约阅读时间需要 8 分钟。

文章目录

基本概念

1.客户端(Client):手机移动应用

2.服务器(Server):为客户端提供服务,提供数据,提供资源的机器。
3.请求(Request):客户端向服务器索取数据的一种行为。
4.响应(Response):服务器对客户端的请求作出的反应,一般指返回数据给客户端。
作为移动开发工程师,主要的精力都是放在前端开发
在这里插入图片描述

服务器

按照软件开发阶段来分,服务器分为2种

1.远程服务器
也可以称为外网服务器或者正式服务器,它是作为应用上线后使用的服务器,可供全体用户使用。
2.本地服务器
也可称为内网服务器或者测试服务器。应用于开发,测试阶段使用的服务器,它是局域网。

  • 如何找到服务器呢?

    一般开发人员与服务器交互是获得服务器的地址,这个地址是以URL格式存在的。如http://www.baidu.com

  • 什么是URL?

    1.URL的全称是Uniform Resource Locator(统一资源定位符)
    2.通过1个URL,就能找到互联网上唯一的1个资源。

  • URL的基本格式

    格式为:协议://主机地址/路径
    1.协议:不同的协议代表不同的资源查找方式,资源传输方式。
    2.主机地址:存放着资源的主机(服务器)的IP地址[或是域名];
    3.路径:资源在主机中的具体位置。

URL中的常见协议:

HTTP:【开发中最常用】超文本传输协议,访问的是远程的网络资源,格式是http://
file:访问的是本地计算机上的资源,后面不需要加上主机地址,格式是file://
mailto:访问的是电子邮箱的地址,格式是mailto://
FTP:访问的是共享主机的文件资源,格式是ftp://
注:Windows系统中正斜杠/表示除法,反斜杠\表示目录。
Unix系统中/表示目录,\表示跳脱字符将特殊字符变成一般字符。如。 (center,$,空格等);

HTTP协议

  • 作用:

    1.HTTP全称是Hypertext Transfer Protocol ,超文本传输协议
    2.规定客户端与服务器之间的数据传输格式
    3.让客户端和服务器有效的进行数据沟通
    在这里插入图片描述

  • 特点:

    1.简单快速
    因为HTTP协议简单,所以HTTP服务器的程序规模小,因而通信速度也越快。
    2.灵活
    HTTP允许传输各种各样的数据
    3.HTTP1.1使用持续连接(0.9和1.0是非持续连接)

  • 发送HTTP请求的方法

    在HTTP/1.1协议中,定义了GET,POST,HEAD,PUT,DELETE,TARCE,CONNECT,PATCH这8种请求方法,不同的方法对资源有不同的操作方式。
    在实际工作中最常用的是GET和POST
    参数—就是传输给服务器的具体数据。比如注册一个账号时,你注册的用户名和密码等。

  • GET和POST的区别

    主要区别表现在数据传递上
    GET:
    1.在请求URL后面以?的形式跟上发给服务器的参数,多个参数之间用&隔开,比如
    2.由于浏览器和服务器对URL长度有限制,因此在URL后面附带的参数是有限制的,通常不能超过1KB
    POST :
    1.发送给服务器的参数全部放在请求体中
    2.理论上,POST传递的数据量没有限制(具体要看服务器的处理能力)
    GET和POST的选择:
    1.如果要传递大量数据,比如文件上传,只能用POST请求
    2.GET的安全性比POST要差一些,如果包含机密\敏感信息,建议用POST
    3.如果仅仅是索取数据(数据查询),建议使用GET
    4.如果是增加,修改,删除数据,建议使用POST

  • HTTP的通信过程

    1.请求:客户端向服务器索要数据
    一个完整的由客户端发送给服务器的HTTP请求中包含以下内容:
    (1)请求行:包含了请求方法,请求资源路径,HTTP协议版本
    GET/MJServer/resources/images/1.jpg HTTP/1.1
    (2)请求头:包含了对客户端的环境描述,客户端请求的主机地址等信息。
    Host:192.168.1.105:8080 //客户端想访问的服务器主机地址
    User-Agent: Mozilla/5.0 (Macintosn;Intel Mac OS X 10.9)Firefox/30.0//客户端的类型,客户端的软件环境
    Accept:text/html,/ //客户端所能接受的数据类型
    Accept-Language:zh-cn //客户端的语言环境
    Accept-Encoding:gzip. //客户端支持的数据压缩格式
    2.响应:服务器返回客户端相应的数据
    一个完整的HTTP响应中包含如下内容
    (1)状态行:包含了HTTP协议版本,状态码,状态英文名称
    HTTP/1.1 200 OK
    (2)响应头:包含了对服务器的描述,对返回数据的描述
    Server:Apache-Coyote/1.1. //服务器的类型
    Content-Type:image/jpeg //返回数据的类型
    Content-Length:56811 //返回数据的长度
    Date:Mon,23Jun 2014 12:54:52 GMT //响应的时间
    (3)实体内容:服务器返回给客户端的具体数据,比如文件数据

发送HTTP请求方案

  • 苹果原生(自带)
    1.NSURLConnecction:用法简单,最古老的最经典的最直接的一种方案
    2.NSURLSession:IOS7新推出的技术,功能比NSURLConnection更加强大
    3.CFNetWork:NSURL*的底层,纯C语言
  • 第三方框架
    1.AFIHttpRequest:外号“HTTP终结者”,功能极其强大,可惜早已停止更新
    2.AFNetworking:简单易用,提供了基本够用的常用功能,维护和使用者多。

常见的响应状态码

状态码,英文名,和中文描述:

200,OK,请求成功
400,Bad Request ,客户端请求的语法错误,服务器无法解析
404,Not Found ,服务器无法根据客户端的请求找到资源
500,Internal Server Error,服务器内部错误,无法完成请求。

转载地址:http://tpwin.baihongyu.com/

你可能感兴趣的文章
java定义类与调用类(封装)
查看>>
定义一个简单的teacher类
查看>>
java继承的小实例
查看>>
java的继承之teacher类与多个不同teacher的继承
查看>>
SQL serve MYSQL 视图
查看>>
java JButton计算器布局
查看>>
简单静态网页
查看>>
如何隐藏自己电脑的文件
查看>>
java报错Exception in thread "main"
查看>>
.vbs后缀名的死循环
查看>>
.vbs后缀名的死循环2
查看>>
.vbs后缀名的死循环3表白系列
查看>>
js表白代码
查看>>
HTML之绝对定位position,fixed 百度搜索栏
查看>>
HTML之相对定位position,relative
查看>>
SQL编程基础局部变量与全局变量
查看>>
SQL server 编程基础之分支循环等
查看>>
.bat后缀下滑关机
查看>>
java jdbc连接数据库
查看>>
Java jdbc 查询sql server中的信息
查看>>