出处:Android中的HTTP通信

等级:初级

参考:HTTP权威指南

一、HTTP基础

1. 名词解释

Http协议(超文本传输协议),定义了客户端向服务器请求协议,例如:请求文本,图片,音频,视频等,服务器端传送给客户端。

2. 工作流程

客户端与服务器端建立连接(通过TCP三次握手建立连接)

客户端向服务器发送HTTP请求

服务器作出应答,表示对于客户端请求的应答

客户端接收服务端所返回的信息(通过TCP四次挥手断开连接)

TCP三次握手

TCP三次握手.png

客户端发送SYN信息

服务端收到SYN信息,回复ACK信息

客服端收到ACK信息,再次发送ACK信息

服务端收到ACK信息,建立连接

SYN:同步标志

ACK:确认标志

3. URL

URL(统一资源定位符)

组成:scheme(协议) + 域名 + 端口 + 资源

例如:http://www.baidu.com/xxx/xxxx.png

4. HTTP特点

无状态

无连接

HTTP协议是基于TCP/IP协议之上的协议。

HTTP协议采用"请求 - 应答" 模式

5. HTTP协议结构分析

Request Headers

Accept: text/css,/;q=0.1

Accept-Encoding: gzip, deflate, br

Accept-Language: zh-CN,zh;q=0.9

Connection: keep-alive

Cookie: __utma=67564055.615584808.1553734067.1553734067.1553734067.1; __utmc=67564055; __utmz=67564055.1553734067.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); loginUserName=assess15%40126.com; token_pass=4580323411c5cb06575fabfe2282b842; loginUserName_wanandroid_com=assess15%40126.com; token_pass_wanandroid_com=4580323411c5cb06575fabfe2282b842; Hm_lvt_90501e13a75bb5eb3d067166e8d2cad8=1552887593,1553736798; JSESSIONID=E47E24048320BAD307A39D7876AA64CB; Hm_lpvt_90501e13a75bb5eb3d067166e8d2cad8=1554273987

DNT: 1

Host: wanandroid.com

If-Modified-Since: Fri, 15 Jun 2018 15:06:40 GMT

Referer: https://wanandroid.com/index

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36

Response Headers

Cache-Control: private

Date: Wed, 03 Apr 2019 06:47:39 GMT

Expires: Thu, 01 Jan 1970 08:00:00 CST

Server: Apache-Coyote/1.1

二、Json数据解析

三、封装OkHttp框架

四、经验分享

安卓app与服务器通信协议,Android中的HTTP通信-总结相关推荐

  1. 安卓app服务器地址文件夹,查看安卓app的服务器地址

    查看安卓app的服务器地址 内容精选 换一换 robox脚本里的docker run命令中的镜像名称要改成本地自己注册的名称.(名称为:镜像注册中的名称,也可以通过docker images查看)设置 ...

  2. 安卓app设计规范整理和Android APP设计篇

    安卓app设计规范整理和Android APP设计篇 发布于: 2014 年 8 月 24 日 by admin 随着安卓智能手机不停的更新换代.安卓手机系统越来越完美,屏幕尺寸也越来越大啦!比如最近 ...

  3. 一起Talk Android吧(第四百九十四回:在Android中使用MQTT通信四)

    文章目录 问题概述 解决办法 经验总结 各位看官们大家好,这一回中咱们说的例子是" 在Android中使用MQTT通信四",本章回内容与前后章节内容无关联.闲话休提,言归正转,让我 ...

  4. 安卓App报错:android.os.FileUriExposedException

    安卓7.0开始,不再允许在App中把 file://Uri 暴露给其他App,因此在代码中需要做下版本判断,在7.0版本及以上需要使用 FileProvider 生成 content://Uri 来代 ...

  5. 安卓app设计规范整理和Android APP设计篇(转)

    随着安卓智能手机不停的更新换代.安卓手机系统越来越完美,屏幕尺寸也越来越大啦!比如最近小米的miui 6的发布和魅族手机系统的更新等等. 以小米MIUI6的安卓手机来说,MIUI6进行了全新设计,坚持 ...

  6. 安卓app设计规范整理和Android APP设计

    随着安卓智能手机不停的更新换代.安卓手机系统越来越完美,屏幕尺寸也越来越大啦!比如最近小米的miui 6的发布和魅族手机系统的更新等等. 以小米MIUI6的安卓手机来说,MIUI6进行了全新设计,坚持 ...

  7. 安卓app开发教程!Android动态换肤实现原理解析,值得收藏!

    开头 Android开发,假如开始没有任何的开发经验的话, 千万不要着急,不要想着在短时间内就把一个语言学习好, 因为你之前没有任何的学习经验, 在这个过程中需要有耐心地学习完JAVA的基础知识, 然 ...

  8. android ping网络连接服务器失败,Android 中网络连接检测和使用ping检测网络是否可访问...

    Android开发中网络相关的检测包括网络是否正常连接和网络已连接但是否可以正常访问两类. (1)其中最常用的就是网络连接是否正常的检测,具体的代码如下:ConnectivityManager con ...

  9. java安卓计时器_如何在android中设置计时器

    通过java.util.Timer和java.util.TimerTask使用计时器的标准Java方法在Android中运行良好,但是你应该知道这个方法创建了一个新线程. 您可以考虑使用非常方便的Ha ...

最新文章

  1. Azure运维系列10:跨订阅迁移ARM虚拟机
  2. Browser Security-同源策略、伪URL的域
  3. 轻芒阅读距离今日头条还差一个即刻
  4. 科大星云诗社动态20211201
  5. html5 背景拼贴,AI创建漂亮的无缝拼贴图案背景样式
  6. Java 9中什么是私有的?
  7. 局域网只能看到一部分电脑_win10 网上邻居看不到其它电脑、共享不了文件
  8. 深入理解SpringBoot(2)
  9. Find a way BFS
  10. 使用kubeadm安装k8s集群故障处理三则
  11. 奚恺元《别做傻瓜做的事》
  12. flash制作文字笔顺_汉字标准读音与笔顺Flash版
  13. JavaScript验证身份证号码(15位/18位)
  14. 问答网站Stack Overflow的成功之道
  15. VSCode 修改系统界面和编辑面板字体大小
  16. win10下的edge如何打开ie的兼容性视图?
  17. 【jiasuba】分享:键盘失灵烦恼多 教你轻松禁用原键盘
  18. CCF-201409-5-拼图
  19. 计算机网络流量监控设计方案,计算机网络流量监控的设计.pdf
  20. java学习笔记(9) 第9章 Java项目-房屋出租系统

热门文章

  1. 云课堂计算机网络技术,2020智慧职教云课堂计算机网络技术答案最新最全课后作业答案...
  2. FFT/DFT/DCT
  3. html中无结束标志有哪些,所有的标记都必须要有一个相应的结束标记
  4. 『天涯杂谈』 崖叔整容借鉴(给崖叔交作业啦)——对比人人 开心 猫扑 豆瓣 西祠 宽带山
  5. 归档|2022年12月香港转机回国
  6. SpringBoot开发之Spring Boot入门
  7. IntelliJ IDEA 更换主题后产生Failed to create Look and Feel “com.intellij.laf.win10.WinIntelliJLaf“ bug的解决办法
  8. 从文档导入单号进行物流查询
  9. 淘宝直通车关键词拖价怎么做?大神导航,一个神奇的网站,从此开启大神之路!
  10. android怎么实现点击跳转,Android开发:App点击跳转到网页的实现