Android开发需要了解的HTTP知识-网络原理及实现

以太网及网络工作原理一 1、WAN、LAN和以太网简介 介绍以太网(Ethernet)我们首先要与广域网(WAN)、局域网(LAN)这两种概念区分开来,广域网(WAN),WAN我们常在家用路由上看到这个接口,WAN是由无数局域网构成,提供网络服务,让公司和个人通过公网进行查询、上传、下载这些服务。WAN的基础设施通常是网络运营商建设,并提供网络服务,比如国内电信、移动、联通,还有国内现在提供硬件铁塔公司。 局域网设施由企业、个人所组建,规模比较小,主要办公使用,以实现文件管理、应用软件共享、打印机共享等功能。局域网可大可小,大型公 阅读详情

HTTP协议的全称是Hypertext Transfer Protocol,翻译为超文本传输协议。是用来在万维网上进行通信时所使用的协议方案。我们见到的绝大部分App都是包含与服务器的通讯功能的,所以了解HTTP知识是必不可少的。

HTTP协议发展到现在,经过了版本0.9、1.0、1.1等。当前广泛使用的是1.1版本,相比1.0进行了很多性能优化。

看懂一个网络请求到获得数据的全过程涉及到一些网络知识。略微补充一下计算机网络的构成和原理。先说一下计算机网络的体系结构(体系结构抽象的各层协议的总和结构,真实实现是具体的硬件和软件)。如下图-图1-18

按五层协议体系的划分,物理层是传输数据比特流(byte),常见涉及的知识点有带宽、传输速率等。

数据链路层传输的是帧数据,表现为一段一段的链路传送每一帧数据。常见涉及的知识点有封装成帧、点对点协议ppp(连接ISP)、MAC地址、以太网、交换机等。

网络层传输的是分组(也称IP数据报),常见涉及的知识点有IP协议、IP地址、地址解析协议ARP、路由选择、路由器、分组转发等。

运输层则是整合成端对端的逻辑通讯,涉及到的知识点有TCP协议(传输控制协议)、UDP协议(用户数据报协议)、握手连接、拥塞控制等。

应用层则是通过不同主机中应用进程的通讯来解决某一类问题,本篇文章讨论的HTTP协议也是在应用层中使用的。HTTP请求的实现,我们只需了解到运输层和应用层就可以了。下图列举了常用的应用及应用层协议及其对应的运输层协议。

我们还需要补充了解几个名词。

万维网:一个大规模的、联机式的信息储藏所(cr 计算机网络 谢希仁)简称web

资源:web资源包括web服务器上的任意内容:文本、HTML、Word、JPEG各种格式静态文件,还有搜索引擎、网关等动态资源等等。

媒体类型:HTTP将各种要传输的对象都加上了MIME类型作为数据格式标签,如JPEG图片格式:Content-type:image/jpeg Content-length:12984.常见的MIME类型都可在网上搜索得到。

统一资源标识符URI:服务器资源名,有URL和URN(统一资源名,与资源所在地无关的唯一名称)两种形式。

统一资源定位符URL:资源在互联网上的位置 一般形式:协议://主机:端口/路径

HTTP报文:由多行简单字符串组成。我们这里涉及的主要是请求报文和响应报文。

HTTP事务:由一条请求命令和一级响应结果组成。也可以说是HTTP请求报文和HTTP响应报文两个组成。

HTTP方法:每个请求报文里都包含一个方法,告诉服务器要执行什么动作。常见的五种HTTP方法是GET、PUT、DELETE、POST、HEAD。

状态码:每条HTTP响应报文返回时都会携带一个状态码,状态码是一个三位数字的代码,告知客户端请求是否成功或需要采取其他动作。常见的状态码有200(成功)、404(没找到)等。伴随着每个数字状态码,HTTP 还会发送一条解释性的“原因短语”文本。如200 OK。如下图所示,一个简单的事务所使用的HTTP报文(cr HTTP权威指南):

这些名词就基本构成了HTTP请求的全过程。用浏览器访问页面文档举例,基本的浏览器连接处理的步骤如下:

(a) 浏览器从 URL 中解析出服务器的主机名

(b) 浏览器将服务器的主机名转换成服务器的 IP 地址(DNS)

(c) 浏览器将端口号(如果有的话)从 URL 中解析出来

(d) 浏览器建立一条与 Web 服务器的 TCP 连接

(e) 浏览器向服务器发送一条 HTTP 请求报文

(f) 服务器向浏览器回送一条 HTTP 响应报文

(g) 关闭连接,浏览器显示文档

放一张书上拿的图。(cr 计算机网络)

补充一个来自图解HTTP 的示例图。这张图更能了解计算机网络中其他层及其协议与HTTP协议的关系。

下一篇将详细介绍HTTP协议的报文及其扩展功能。

深度解析安卓开发工程师职位:核心能力、技术栈与面试指南 本文系统分析了安卓开发工程师的岗位要求与技术要点。首先从核心职责入手,详细解析了应用开发全流程的技术实践,包括架构设计、性能优化、新技术落地等关键环节。其次深度剖析了岗位技术栈要求,涵盖Kotlin语言特性、安卓组件机制、UI开发、数据存储等核心技术领域。随后提供了全面的面试题库,包含语言基础、组件生命周期、架构模式等9大技术模块的典型问题与参考答案。最后强调卓越开发者需要具备技术深度、问题解决能力和持续学习意识。全文为开发者职业发展提供了清晰的技术路线图,也为企业选拔人才提供了专业参考框架。 阅读详情

相关推荐

[亚信线上教学] AX58100: EtherCAT从站设备仿真功能设计教学

什么情况需要开启EtherCAT从站设备仿真功能呢? 一般来说, 当EtherCAT从站产品,不需要使用额外的微控制器介入,或使用不具备EtherCAT从站通讯协议栈的微控制器一同协作的情况下,就必须开启EtherCAT从站设备仿真功能,这样EtherCAT主站才能够正常设置从站设备的工作状态. 亚信AX58100 EtherCAT从站控制芯片的优点 AX58100 EtherCAT从站控制器, 集成2个百兆以太网Phis, 并支持一些额外的控制接口, 例如脉冲宽度调变, 增量, 霍尔编码器, .

allanchou1的专栏 7422

Android之网络请求1————HTTP协议

Android之网络请求1————HTTP协议

冰炭不投day的博客 2599

避免踩坑!杰理AC63蓝牙名修改常见问题及解决方案(含BLE后缀处理)

本文详细解析了杰理AC63蓝牙设备名称修改的全过程,包括基础操作、BLE后缀处理及高级调试技巧。针对蓝牙名修改中的常见问题,提供了实用的解决方案和代码示例,帮助开发者避免踩坑并实现高效定制。

q6r7s8t9的博客 411

android网络通信解析

网络编程的目的就是直接戒间接地通过网络协议不其他计算机进行通讯。 网络编程中有两个主要的问题, 一个是如何准确的定位网络上一台戒多台指主机; 另一个就是找到主机后如何可靠高效的进行数据传输。 目前使用最广泛的因特网协议是TCP/IP协议: 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层

jinglif的专栏 608

快速入门:使用 SQL Server Management Studio (SSMS) 连接和查询 SQL Server 实例

开始使用 SQL Server Management Studio (SSMS) 连接到 SQL Server 实例并运行一些 Transact-SQL (T-SQL) 命令。本文介绍如何连接和查询实例SQL Server。有关 Azure SQL,请参阅连接。若要使用,请参阅连接和查询。若要详细了解如何SQL Server Management Studio,请参阅其他。......

m0_72938729的博客 5729

不刷机!Jetson AGX Orin无损更新内核与设备树的两种安全方法(附备份恢复脚本)

本文详细介绍了Jetson AGX Orin在不刷机的情况下安全更新内核与设备树的两种方法,包括extlinux.conf动态加载和分区精准刷新方案。通过备份恢复脚本和工业级灾备方案,确保零数据丢失,适用于边缘AI和机器人等关键场景。

weixin_40192258的博客 308

Android 网络浅析

所谓协议,就是一种“规范”、或者说“约定”,在通俗点就是“某种规则”。 平时编程用到语言:java、c++、js等也属于协议。 协议一般包含三个要素: * 语法 按照某种规则。如谍战片中的加密电报 * 语义 根据这种规则,需要表达的意思 * 顺序 形成某种顺序,包含上下文信息 如 先干什么,然后在干什么等等............

bugyinyin的博客 980

Hopfield神经网络(HNN)详解

Hopfield神经网络是一种比较特殊的网络,它不像一般的神经网络那样有输入层和输出层,并且通过训练来改变神经网络中的参数,最终实现预测、识别等功能。Hopfield网络只有一群神经元节点,所有节点之间相互连接,形式如下: 虽然有些文章会画出像深度神经网络那样有输入输出的图,并且输出后又返回输入,但本质上就是多个节点之间的全连接,也就是上面的图形。Hopfield神经网络主要有两个应用:一是起到类似储存器的作用,也就是我们把多个序列或图片输入这个网络,最终这个网络会以神经元之间连接权重的形式储存这

weixin_60737527的博客 4万+

Android网络编程(二) 之 HTTP协议原理

1 简介 要了解HTTP协议原理,就要说到HTTP报文。HTTP 报文是面向文本的,报文中的每一个字段都是一些ASCII 码串,各个字段的长度是不确定的。HTTP 有两类报文:请求报文和响应报文。了解HTTP报文前,可以先通过抓包工具进行查看请求网络的请求报文和响应报文。抓包工具推荐使用Fiddle或者Charle。例如现在我们在浏览器访问了http://msdn.itellyou.cn/后,然...

子云心的博客 509

ComfyUI入门学习-教程篇

深入的 ComfyUI 教程,不同功能节点的详细指南。一个比较有意思的Comfyui教程,动画式学习。从安装到基础教程、高级教程再到各种工作流。非常全面,有教程有搭建好的工作流。

wincyfu的博客 1326

YOLO11-Seg优化:卷积变体系列篇 | 动态蛇形卷积(Dynamic Snake Convolution) | ICCV2023

动态蛇形卷积(Dynamic Snake Convolution),增强微小特征提取能力,引入到YOLO11-Seg,与C3k2结合实现二次创新

会AI的学姐 371

【网络原理】HTTP 协议和 HTTPS 协议

HTTP协议是互联网数据传输的基础协议,采用客户端-服务器一问一答模式。通过Fiddler抓包工具可以查看HTTP请求和响应的文本格式结构:请求包含首行、请求头、空行和正文;响应包含状态行、响应头、空行和正文。URL定位网络资源,包含协议、域名、路径等元素,特殊字符需进行URL编码。HTTPS在HTTP基础上增加SSL/TLS加密层保障安全。

REGARD712的博客 2582

漫画安全HIDS、EDR、NDR、XDR

漫画安全HIDS、EDR、NDR、XDR

墨痕诉清风的博客 3446

android音视频开发详解,安卓面试项目包装

一线互联网Android面试题含详解(初级到高级专题)这些题目是今年群友去腾讯、百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。并且大多数都整理了答案,熟悉这些知识点会大大增加通过前两轮技术面试的几率如果设置门槛,很多开发者朋友会因此错过这套高级架构资料,错过提升成为架构师的可能。这就失去了我们的初衷;让更多人都能通过高效高质量的学习,提升自己的技术和格局,升职加薪。最后送给大家一句话,望共勉,永远不要放弃自己的梦想和追求;

2401_84408437的博客 471

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Android最全面的HTTP基础知识

一、计算机网络体系结构 目前,由国际化标准组织ISO制定的网络体系结构国际标准是 OSI七层模型。OSI的七层协议体系结构的概念清楚,理论也比较完整,但它既复杂又不实用。TCP/IP体系结构则不同,但它却得到了非常广泛的应用。TCP/IP是一个四层的体系结构,它包含应用层、运输层、网际层和网络接口层(用网际层这个名字是强调这一层是为了解决不同网络的互联问题)。不过从实质上讲,TCP/IP只有最...

博由心生,福泽一生 2714

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Java EE:7.网络原理- HTTP/HTTPS(第四弹):HTTP 响应+构造 HTTP 请求

Java EE:7.网络原理- HTTP/HTTPS(第四弹):HTTP 响应+构造 HTTP 请求

要努力去发光,而不是被照亮~ 2459

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

温习Android基础知识——《第一行代码(第三版)》读书笔记 Chapter 11 网络编程

第十一章:看看精彩的世界,使用网络技术 注意,使用网络需要在权限中声明 目录第十一章:看看精彩的世界,使用网络技术WebView使用HTTP访问网络HttpURLConnectionOkHttp解析XML数据PullSAX解析JSON数据JSONObjectGSON网络请求回调的实现方式Android 9.0的HTTP适配问题Retrofit设计思想1.同一款应用程序中发起的网络请求绝大多数指向的是同一个服务器域名2.服务器提供的接口通常是可以根据功能来归类的3.开发者更习惯于“调用一个接口,获得它的返回

qq_45254908的博客 337

【先收藏再看系列】Android开发核心知识点笔记,2024最新知识点笔记!(2)

光有这些思路和搞懂单个知识的应用是还远远不够的,在Android开源框架设计思想中的知识点还是比较多的,想要搞懂还得学会整理和规划:我们常见的**Android热修复框架、插件化框架、组件化框架、图片加载框架、网络访问框架、RxJava响应式编程框架、IOC依赖注入框架、最近架构组件Jetpack等等Android第三方开源框架,**这些都是属于Android开源框架设计思想的。如下图所示:这位阿里P8大佬针对以上知识点,熬夜整理出了一本长达1042页的完整版如何解读开源框架设计思想。

piade的博客 748

安卓程序开发多开!啃完999页Android面试高频宝典,我先收藏为敬

前言 如果你也学习Android,那么你大概率会看过我的文章。经常有读者给我留言:“该怎么学习Android?”、“日常学习Android的方法是什么”。 所以,今天,我将献上一份《Android知识图谱》,以自身的经验 & 所见所闻,旨在告诉大家,学习Android,实际上需要学习什么内容,希望你们会喜欢。 Java相关 1. HashMap 和HashTable 以及CurrentHashMap 的区别。 2. synchronized 和volatile 、ReentrantLoc

120

Java EE:7.网络原理- HTTP/HTTPS(第三弹):HTTP 请求-请求报头+请求正文

Java EE:7.网络原理- HTTP/HTTPS(第三弹):HTTP 请求-请求报头+请求正文

要努力去发光,而不是被照亮~ 4682

校招生怎么准备Android面试?吃透这份年薪30W的Android面试葵花宝典,不信你还面不过

背景 近两年,因为部分公司移动开发需求剧增、跨平台技术推广和客户端经历低谷期,安卓开发岗在部分公司产生招聘缺口,从而接受零基础(专指没有移动开发基础)的校招生,综合岗位竞争压力、薪资范围等因素,安卓开发岗也受到不少应届生的青睐。Android面试问些什么?该怎么准备Android面试呢?不少同学发出提问。 下面将为大家介绍Android(安卓)开发校招现状和校招要求,帮助校招生尽快了解该岗位。 岗位竞争压力 多数大公司的安开发岗的竞争压力相对于后端开发、算法工程师等热[ ]岗位而言会小-一些。 薪资范围.

m0_64365896的博客 502

2024年2024年8月30写篇文章,记录我的字节跳动客户端面试之旅!(1),2024年最新最新Android开发面试解答

面试是一个不断学习、不断自我提升的过程,有机会还是出去面面,至少能想到查漏补缺效果,而且有些知识点,可能你自以为知道,但让你说,并不一定能说得很好。有些东西有压力才有动力,而学到的知识点,都是钱(因为技术人员大部分情况是根据你的能力来定级、来发薪水的),技多不压身。附上我的面试各大专题整理: 面试指南,满满的都是干货,希望对大家有帮助!网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化学习资料的朋友,可以戳这里获取。

2401_84562768的博客 738

Android面试 | 2021年中高级大厂面试题必知必会

前言 正在准备 Android 面试的小伙伴千万不要错过哦!在这个金九银十的求职高峰期,小编给大家分享一些收集整理的 Android 大厂面试资料。祝大家都能有个好工作。 面试题知识点从基础到架构进阶,包含了BAT等一线互联网公司面试被问到的题目,涵盖了初中高级安卓技术点。文章中所列主要为大纲部分,详细内容可以看文末领取! 如果你熟练掌握本文中列出的知识点,相信将会大大增加你通过前两轮技术面试的几率!这些内容都供大家参考,互相学习。 ###一,Java 相关高频面试解析 HashMap ArrayLi

qq_44102588的博客 1190

灵魂拷问!Android开发者跳槽指南终获offer

感悟 这个世界有一个“二八原则”在好多地方都发挥着作用,在Android开发上我认为也一样有用。做一个Android开发,你也许只会用到Android开发知识中的20%,有80%其实你学了也不一定会用。 而面试官也一样,他也可能只掌握了20%的知识,而且一个面试也不会有足够多的时间给你展示你全部的知识,而往往只会注意开发中最常遇到的20%。这时候,你对这些问题理解的深度就显得尤为重要。回答了10个问题,而每个问题都只是浅显分析,还没有你将一个问题讲得透彻、全面更能让面试官加分。 java方面 基本知识点

123

retrofit使用,掌握这些Android开发热门前沿知识,值得收藏!

前言 就要到“金九银十”面试跳槽季了,需要找工作的小伙伴们该要着手开始复习了。特此将我今年收录的一些腾讯、阿里巴巴、字节跳动等等一线互联网巨头的面试真题体系的归类、整理了一下,拿来出分享给大家,希望能给有需要的小伙伴一些力所能及的帮助。也希望收获到你们的一些回馈,比如点赞或者评论,让我知道,做这件事情,是有意义的。 废话不多说,直接进入正题。本次整理分享的为Android初中级面试题集,点赞过10个,马上更中高级! 目录: Java基础 Android初中级面试题 Kotlin相关 数据结构与算法 计算.

chayel123的博客 107
上一篇: Android Studio引用项目和引用jar包
下一篇: Android开发需要了解的HTTP知识-HTTP报文组成
pylduck
博客等级 码龄14年 351粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值