美文网首页
Http网络请求

Http网络请求

作者: 思思入扣 | 来源:发表于2019-06-21 20:45 被阅读0次

一、TCP/IP协议


TCP/IP协议各个层次及功能

1.TCP/IP三次握手
SYN:TCP/IP 建立连接时使用的握手信号
ACK:确认字符,确认发送过来的数据已经接受无误
(1)客户端发送syn包(syn=j)到服务器,进入SYN_SEND状态,然后等待服务器确认
(2)服务器收到syn包,确认客户端的syn(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,服务器进入SYN_RECV状态
(3)客户端收到SYN_ACK包,向服务器发送确认包ACK(ack=k+1),发送完毕后,客户端与服务器进入ESTABLISHED状态,完成三次握手,然后两者开始传数据


三次握手图解
二、Http网络请求
1.Http请求原理

http是一种应用层协议,它通过tcp实现了可靠的数据传输
(1)客户端执行网络请求,从url中解析出服务器的主机名
(2)将服务器的主机名转换成服务器的ip地址
(3)将端口号从url中解析出来
(4)建立一条客户端与服务器的tcp链接
(5)客户端通过输入流向服务器发送一条http请求
(6)服务器向客户端回送一条http响应报文
(7)客户端从输入流获取报文
(8)解析报文,关闭连接
2.Http请求方式
get、post、delete、put、head(服务器只返回首部,不返回实体的主体部分)
3.Http报文格式解析
通常来说http请求报文由请求行、请求头部、空行和请求数据4个部分组成
4.响应报文
http响应报文也有三个部分组成:状态行、消息报文、响应正文
5.常见的请求头
(1)Content-Type:请求数据的格式
(2)Conteent-Lenth:消息长度
(3)Host:请求主机名
(4)User-Agent:发出请求的浏览器类型
(5)Accept:客户端可以识别的内容类型列表
(6)Accept-Encoding:客户端可识别的数据编码
(7)Connection:允许客户端和服务器指定与请求/响应连接有关的选项
(8)Transfer-Encoding:为了保证可靠传输,对报文采用了什么编码方式

相关文章

  • http 网络请求

    注:网络请求等耗时代码不要在主线程(UI线程中) HTTPURLCONNECTION get方法: try{URL...

  • Http网络请求

  • Http网络请求

    一、TCP/IP协议 1.TCP/IP三次握手SYN:TCP/IP 建立连接时使用的握手信号ACK:确认字符,确认...

  • Flutter 网络请求 - Http请求

    每个 APP 基本上都离不开网络请求,Flutter 是怎么进行网络请求的?这篇博客简单介绍一下基本的 Http ...

  • Flutter常用的Package

    Flutter搜索库 网络 dio 网络请求 http 网络请求 connectivity 网络状态改变(i...

  • android网络请求--http详解

    HTTP网络请求 对于android开发来说,http是网络开发中最为重要、使用频率最高的手段。 HTTP请求原理...

  • Flutter (五) 网络请求

    首先进行网络请求配置 进入需要进行网络请求的界面导入 “import 'package:http/http.dar...

  • AVPlayerViewController

    先改http1、网络请求,允许 Http 请求类型 NSAppTransportSecurity Diction...

  • android http网络请求

    对android 中网络请求的分层改造 目的:做到业务数据相分离1、http的请求层(数据通信层) 主要功能是对w...

  • iOS网络--HTTP请求

    本文首发于我的个人博客:『不羁阁』 https://bujige.net文章链接:https://bujige.n...

网友评论

      本文标题:Http网络请求

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