2019独角兽企业重金招聘Python工程师标准>>>

1. 聊一下HTTP协议(协议的完整的通信过程)

2.通信过程

1> 请求

* 客户端 --> 服务器

* 请求的内容

a. 请求行(请求方法\HTTP协议\请求资源路径)

b. 请求头(描述客户端的信息)

c. 请求体(POST请求才需要有, 存放具体数据)

2> 响应

* 服务器 --> 客户端

* 响应的内容

a. 状态行(响应行, 状态码)

b. 响应头(服务器信息, 返回数据的类型, 返回数据的长度)

c. 实体内容(响应体, 返回给客户端的具体内容)

3.HTTP请求的方法

1> GET

* 参数都拼接在URL后面

* 参数有限制

2> POST

* 参数都在请求体

* 参数没有限制

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

1> NSURLConnection

* 发送一个同步请求

+ (NSData *)sendSynchronousRequest:(NSURLRequest *)request returningResponse:(NSURLResponse **)response error:(NSError **)error;

* 发送一个异步请求

+ (void)sendAsynchronousRequest:(NSURLRequest*) request

queue:(NSOperationQueue*) queue

completionHandler:(void (^)(NSURLResponse* response, NSData* data, NSError* connectionError)) handler;

* 代理的方法(异步)

[NSURLConnection connectionWithRequest:request delegate:self];

[[NSURLConnection alloc] initWithRequest:request delegate:self];

[[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];

NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:NO];

[conn start];

转载于:https://my.oschina.net/u/2611953/blog/618057

网络请求(HTTP协议)小结相关推荐

  1. WireShark 探索网络请求过程(五层网络模型、三次握手、滑动窗口协议)

    ​当我们在浏览器输入URL点击确认后,浏览器展示出网页信息.可你曾想过这其中的过程是怎样的?理论性较强的朋友可能知道后续DNS会解析地址,然后TCP/IP三次握手建立起连接,紧接着客户端与服务器开始传 ...

  2. web网络和http协议(了解域名和网页,制作第一个网页,了解http协议,流程和请求报文格式)

    文章目录 web网络和http协议 了解域名 早期使用HOST文件解析域名 现在DNS(Domain Name system 域名系统) 域名的概述 域名空间结构 域名介绍 域名注册 域名注册步骤 网 ...

  3. 各个协议层的网络请求

    应用层的网络请求 用Requests库,来访问 #使用requests库来访问 import requests def query(name):url="http://api.apiopen ...

  4. WireShark抓包 图解探索网络请求过程(五层网络模型、三次握手、滑动窗口协议)

    当我们在浏览器输入URL点击确认后,浏览器展示出网页信息.可你曾想过这其中的过程是怎样的?理论性较强的朋友可能知道后续DNS会解析地址,然后TCP/IP三次握手建立起连接,紧接着客户端与服务器开始传输 ...

  5. 「Python 编程」编码实现网络请求库中的 URL 解析器

    相信各位 Python 开发者都用过 Requests 库,有些朋友还用过 WebSockets 库.这里回顾一下它们的基本用法,例如使用 Requests 库向目标网站发出 GET 请求: impo ...

  6. android post请求添加公共参数_XHttp2 一个功能强悍的网络请求库

    XHttp2 一个功能强悍的网络请求库,使用RxJava2 + Retrofit2 + OKHttp组合进行封装.还不赶紧点击使用说明文档,体验一下吧! 项目地址 关于我 https://github ...

  7. 【网络爬虫】(1) 网络请求,urllib库介绍

    各位同学好,今天开始和各位分享一下python网络爬虫技巧,从基本的函数开始,到项目实战.那我们开始吧. 1. 基本概念 这里简单介绍一下后续学习中需要掌握的概念. (1)http 和 https 协 ...

  8. iOS开发网络篇—HTTP协议

    说明:apache tomcat服务器必须占用8080端口 一.URL 1.基本介绍 URL的全称是Uniform Resource Locator(统一资源定位符) 通过1个URL,能找到互联网上唯 ...

  9. iOS 中的网络请求 (同步请求、异步请求、GET请求、POST请求)

    1.同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作, 2.异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然 ...

  10. 如何独立开发一个网络请求框架

    (原创出处为本博客:http://www.cnblogs.com/linguanh/) 目录:   前言 准备工作  开发模式 开发原则 线程 高并发 TCP/UDP 本类介绍  开发选择 功能列表 ...

最新文章

  1. 智能车竞赛技术报告 | 智能车视觉 - 中国计量大学 - 赛博-10
  2. Cocos2d—声音API
  3. Samba服务器的安装配置和应用
  4. DBMS_STATS.GATHER_TABLE_STATS详解
  5. 机器学习中 True Positives(真正例TP)、False Positives(假正例FP)、True Negatives(真负例TN)和 False Negatives(假负例FN)指什么
  6. Jquery+php+ajax实现表单异步提交,动态添加回复评论
  7. PowerDesigner11技巧
  8. 曲线(信息学奥赛一本通-T1435)
  9. PostgreSQL归档配置及自动清理归档日志
  10. oracle 取记录最大的那条记录_新记录!国内跨高速铁路最大、吊装高度最高的钢横梁顺利吊装到位...
  11. java9最新下载_java9下载_java9官方版下载 32位64位 最新版_天天下载手机版
  12. Unity3D视图介绍
  13. MODB:软体动物线粒体基因组数据库
  14. pyqt界面语言中英文转换
  15. notes服务器标识文件,怎样重新验证将要过期的服务器标识符文件_lotus notes
  16. 【游戏开发创新】当我学了Blender 建模,自制3D电脑桌面,回收站爆发了,把我做的模型都吐了出来(Blender | Unity | FBX)
  17. 华为服务器虚拟机登录密码,虚拟机登录密码忘记了怎么办
  18. 如何初步部署服务器(运维及服务器部署个人笔记)
  19. 2021最新 阿里云PostgreSQL案例精选2 - 图像识别、人脸识别、相似特征检索、相似人群圈选
  20. #ROM类(EPROM、PROM、EEPROM、MROM、Flash)汇总

热门文章

  1. 弥合安全和开发间隙的四个关键点
  2. 微软9月补丁星期二值得关注的0day、终于落幕的 PrintNightmare及其它
  3. 谷歌修复已遭在野利用的两个 0day
  4. DDoS booter滥用 DTLS 服务器放大攻击
  5. 深入理解SpringBoot的过滤条件--AutoConfigure
  6. Kylin 对维度表的的要求
  7. thinkphp3.2 不同域名配置不同分组设置
  8. 减小Gcc编译程序的体积
  9. Open vSwitch流表应用实战
  10. Bootstrap Glyphicons