网络请求简略步骤概述

步骤

1 浏览器解析地址是否正确

2 如果地址是IP格式,直接寻址;如果地址是域名这需要转换为对应的IP加端口(先找HOST文件,找不到的话就去DNS服务器查询)

3 寻址成功以后,和对方建立连接

4 连接成功以后,传递数据之前,判断如果是http还是https,http的话就直接握手传数据,如果是https则需要验证通道是否安全。

单向验证: 客户端验证服务器数字证书,是否经过CA认证过的

双向验证:   客户端验证服务器数字证书,是否经过CA认证,服务器也要验证客户端证书(这个客户端的证书有服务器生成好提供给客户端)

TCP/IP:

IP用来寻址,TCP是一种传输协议,既然是传输协议,那么数据网络通信7层中的传输层,对应的还有UDP,TCP是一对一相对安全,必须握手成功才能传数据,UDP是一对多,不管接受方是否接受成功都发送数据.TCP握手一共是3个步骤,断开握手4个步骤,TCP握手以及断开握手的过程暂略

HTTPS:

HTTPS就是在HTTP的协议上增加了认证以及加密部分。HTTP协议是应用层协议,负责数据包装也就是生成数据包,HTTPS多出来的这个S 就是把数据包内容加密,HTTPS的加密分为2种形式,互相验证阶段使用的非对称加密,验证过后的传输则用的是对称加密。因为对称加密的效率要比非对称的效率高。HTTPS的具体握手的过程暂略

CA:

CA就是数字证书的权威认证机构,有办法数字证书的权利,他也有授权给下一集的机构,这些二级机构也有颁发数字证书的权利。但是二级的机构的证书里会包含顶级也就是根证书的信息,所以可以根据这些二级机构的证书向上递归找到根。浏览器或者电脑里会内置一些根证书。到时候和这些根证书比较即可确实,此证书是合法这个条件,但这不是唯一条件,证书的验证还包括是否过期以及是否被吊销。

时间: 2024-11-08 13:29:58

网络请求简略步骤概述的相关文章

(whh仅供自己参考)进行ip网络请求的步骤

这个过程大致是这个样子: 1 添加通知 2 发送网络请求 里边有一个发送通知的操作 3 执行发送通知的具体操作 代码如下: 1 在VC添加通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receivingYM1:) name:@"YM1" object:nil]; 2 在SYNDispatchProcessor.m 中进行发送通知 -(void) delayTimeGCDbuild

网络请求的步骤:

GET .POST GET暴露太多,很少用 1.NSURL; 2.NSURLRequest 3.NSURLConnection 4.处理Error or 返回数据 example: //1.获取 urlstring    NSString * urlString = [NSString stringWithFormat:@"%@",GETurl];        //采用utf-8编码    urlString = [urlString stringByAddingPercentEsc

Android实际开发之网络请求组件的封装(OkHttp为核心)

趁周末时间撸了两天代码,将OkHttp网络请求框架进行了一次简单封装,对于实际开发非常有用.. 此次封装主要针对我们经常使用的网络请求的步骤进行封装,在已有框架OkHttp的基础上进行实际开发的封装 发送一个网络请求,有以下三个功能模块: 一:request处理 二:OkHttp核心处理 三:callback处理 我们进行网络请求组件的封装也是根据这三大模块进行封装的,下面规划一下这次封装的一个思维导图: 根据以上思维导图,我们第一步,先进行request的封装: 以下是封装的一个CommonR

http网络请求基础get,post请求的注意事项

http网络请求中比较常用的请求方式有get和post请求,其它的如head, put, 以及自定义的OPTIONS请求先忽略 java中使用的请求对象一般是HttpUrlConnection 我们请求的地址需要使用URL对象将字符串地址进行封装 即URL connURL = new URL("http://www.xxxx./") 网络请求的步骤 GET请求 首先要对请求的参数进行中文编码 java.net.URLEncoder.encode(parameters.get(name)

网络请求步骤

网络请求三步骤 1> URL 确定资源 NSString *urlStr = @""; NSURL *url = [NSURL URLWithString:urlStr]; (1) GET URL 中包含参数 (2) POST URL 中没有参数 2> 建立请求 URLRequest (1) GET 不需要对请求做特殊处理 NSURLRequest (2) POST 需要在请求中,指定 HTTP 方法和 HTTP 数据体 NSMutableURLRequest HTTPMe

AFNetworking网络请求的get和post步骤

1.首先通过第三方:CocoaPods下载AFNetworking 1.1.先找到要查找的三方库:pod search + AFNetworking 1.2.出来一堆列表页面,选择三方库最新版本命令,例如: pod ‘MBProgressHUD’,’~>0.8’  (:q 返回) 1.3.创建工程,进入工程: cd + 工程路径 1.4.编辑工程的Podfile文件: vim Podfile 1.5.(platform :iOS, ‘8.0’?target “工程名” do?pod ‘AFNet

ios编程之网络请求

网络请求有GET请求和POST请求,get和post实现的时候可以选择同步或者异步实现.看一个请求是GET还是POST就看网址后面有没有携带请求体. GET与POST 区别 1.get请求 请求的网址全部明文显示 安全性不高 2.get请求 请求的网址 有字符数的限制 大概255个 3.post请求 请求的网址 不光是有一个请求的网址 还可以携带请求体 这个请求体 是以NSData形式存在 安全性较高 4.post请求没有字符数的限制 GET同步和GET异步 同步请求是在请求数据的时候不能做其他

android网络请求库volley方法详解

使用volley进行网络请求:需先将volley包导入androidstudio中 File下的Project Structrue,点加号导包 volley网络请求步骤: 1. 创建请求队列       RequestQueue queue = Volley.newRequestQueue(this); 2.创建请求对象(3种) StringRequest request = new StringRequest(“请求方法”,“请求的网络地址”,“成功的网络回调”,“失败的网络回调”): Ima

AFNetWorking 网络请求转载

今天开始会写几篇关于AFN源码解读的一些Blog,首先要梳理一下AFN的整体结构(主要是讨论2.x版本的Session访问模块):我们先看看我们最常用的一段代码: AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; [manager GET:@"https://www.baidu.com" parameters:nil success:^(NSURLSessionDataTask * _Nonnull task