HTTP基础

HTTP的通信过程

1.请求

1>请求行:请求方法 请求路径 HTTP协议版本

2> 请求头:客户端的一些描述信息

*User-Agernt:客户端的环境(软件环境)

3>请求体:POST请求才会有的这个东西

*请求参数,发给服务器的数据

2.响应

1>状态行(响应行):HTTP协议的版本  响应状态嘛  响应状态描述

HTTP/1.1 200 OK

2>响应头:服务器的描述信息

*Content-Type : 服务器返回给客户端的内容类型

*Content - Length : 服务器返回给客户端的内容的长度(比如文件的大小)

3>实体内容(响应体)

*服务器返回给客户端具体的数据,比如文件数据

3.一个HTTP请求的基本要素

1>请求URL : 客户端通过哪个路径找到服务器

2>请求参数 : 客户端发送给服务器的数据

*比如登陆时需要发送的用户和密码

3.返回结果:服务器返回给客户端的数据

*一般是JSON或者XML数据

4.请求是JSON数据时,需要设置请求头数据

设置请求头数据 : 这次请求体数据不再是普通是参数,而是一个JSON数据

[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];

HTTP的请求方法

1.GET

1>特点:所有请求参数都拼接在URL后面

2>缺点:在URL中暴露了所有的请求数据,不太安全.URL的长度有限制,不能发送太多的参数

3>使用场合:如果仅仅向服务器索要数据,一般用GET请求

4>如何发送一个GET请求: 默认就是GET请求

2.POST

1>特点:把所有的请求参数都放在请求体(HTTPBody)中.理论上讲,发给服务器的数据大小是没有限制

2>使用场合:除开服务器索要数据意外的请求,都可以使用POST请求.

如果发给服务器的数据是一些隐私,敏感的数据,绝对要用POST请求

3>如何发送一个POST请求

// 1.创建一个URL  请求路径

NSURL *url = [NSURL URLWithString:@"http://localhost:8080/MJServer/login"];

// 2.创建一个请求

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

// 设置请求方法

request.HTTPMethod = @"POST";

// 设置请求体 : 请求参数

NSString *param = [NSString stringWithFormat:@"username=%@&pwd=%@", usernameText, pwdText];

// NSString --> NSData

request.HTTPBody = [param dataUsingEncoding:NSUTF8StringEncoding];

注意:设置超时与URL转码

设置超时:request.timeoutInterval = 5;// NSURLRequest是不能设置超时的,因为这个对象是不可变的

URL转码 : URL中不能包含中文,得对中文进行转码(加上一堆的%)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值