美文网首页
网络基础篇-HTTP

网络基础篇-HTTP

作者: nickNameDC | 来源:发表于2016-05-03 15:24 被阅读0次
HTTP协议

1.HTTP协议的全称:超文本传输协议

2.通信过程

1> 请求

  • 客户端 --> 服务器
  • 请求的内容
    a. 请求行(请求方法\请求资源路径\HTTP协议)
    b. 请求头(描述客户端的信息)
    c. 请求体(POST请求才需要有, 存放具体数据)

2> 响应

  • 服务器 --> 客户端
  • 响应的内容
    a. 状态行(HTTP协议版本\状态码\状态信息)
    b. 响应头(服务器信息\返回数据的类型\返回数据的长度)
    c. 实体内容(响应体, 返回给客户端的具体内容)
3.HTTP请求的方法

1> GET * 参数都拼接在URL后面 * 参数有限制

  • 请求代码
//1设置请求路径
NSString *urlStr = [NSString stringWithFormat:@"http://192.168.1.200:8080/MJServer/login?username=%@&pwd=%@", username, pwd];
//2转码,URL里面不能包含中文
urlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
//3创建URL
NSURL *url = [NSURL URLWithString:urlStr];
//4创建请求对象
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; // 默认就是GET请求
request.timeoutInterval = 5; // 设置请求超时
//5发送请求
NSOperationQueue *queue = [NSOperationQueue mainQueue];//此队列是用block中代码执行的队列
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {...}];

2> POST

  • 参数都在请求体
  • 参数没有限制
  • 文件上传只能用POST
  • 请求代码
// 1.设置请求路径
NSURL *url = [NSURL URLWithString:@"http://192.168.1.200:8080/MJServer/login"];
// 2.创建请求对象
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; // 默认就是GET请求
request.timeoutInterval = 5; // 设置请求超时
request.HTTPMethod = @"POST"; // 设置为POST请求
// 通过请求头告诉服务器客户端的类型
[request setValue:@"ios" forHTTPHeaderField:@"User-Agent"];
//3.设置请求体
NSString *param = [NSString stringWithFormat:@"username=%@&pwd=%@", username, pwd];
request.HTTPBody = [param dataUsingEncoding:NSUTF8StringEncoding];
// 4.发送请求
NSOperationQueue *queue = [NSOperationQueue mainQueue];//此队列是用block中代码执行的队列
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {...}];

3>HEAD :获得响应头信息,不获取响应体

4.iOS中发送GET\POST请求的手段

1>ASI
基于CFNEtwork
提供了非常强大的功能,使用简单
现在作者已停止更新
2>AFN
基于NSURLConnection
提供了常用的功能,使用简单
3>建议
为了提高开发效率和减少调试花费的时间,尽量使用著名的简单的第三方框架,因此,处理HTTP请求,更建议使用ASI,AFN

相关文章

  • 网络基础篇-HTTP

    HTTP协议 1.HTTP协议的全称:超文本传输协议 2.通信过程 1> 请求 客户端 --> 服务器 请求的内容...

  • http网络基础

    作者:李成文;标签: 网络基础TCP/IP TCP/IP 为了理解HTTP,首先先了解TCP/IP协议族,通常使用...

  • Http 网络基础

    TCP Source Port和Destination Port:分别占用16位,表示源端口号和目的端口号;用于区...

  • 网络基础->HTTP

    1.请求报文格式 GET:请求方法,对应get、post、deleted方法;/user:文件路径,如果使用了代理...

  • 2018-10-24day21-网络通信作业

    ======= 网络基础 http协议

  • 网络请求基础知识(一)HTTP 基础篇

    1.报文格式 1.1 请求报文 以下是发起一个 HTTP 请求需要的主要信息,在发起网络请求时我们一般只提供 UR...

  • 读书笔记_图解HTTP(二) 简单HTTP协议及HTTP报文内的

    读《图解HTTP》记录 上一篇 读书笔记_图解HTTP(一) Web及网络基础 HTTP协议用于客户端和服务端之间...

  • HTTP (一.网络基础)

    为了理解 HTTP,我们有必要事先了解一下 TCP/IP 协议族。通常使用的网络(包括互联网)是在 TCP/IP ...

  • 网络编程基础--HTTP

    这些都是基础东西,掌握的比较琐碎,时不时的总结一下,体会和理解更深一点 一,HTTP协议 1,首先,HTTP协议是...

  • HTTP之网络基础

    当我们在浏览器中输入链接https://www.baidu.com/时, 就会百度的首页展示到浏览器页面中, W...

网友评论

      本文标题:网络基础篇-HTTP

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