博客> 网络技术之二HTTP协议
网络技术之二HTTP协议
2019-12-12 15:24 评论:0 阅读:1480 Iven_Ma
ios 网络

1.熟悉HTTP协议

2.使用Socket拼接HTTP GET 请求

3.保存HTTP请求返回的数据

4.HTTP与HTTPS的联系

一.HTTP简介 1.HTTP:超文本传输协议是互联网上应用最广泛的一种网络协议。 2.HTTP是一个客户端和服务器端请求和应答的标准(tcp)。客户端是终端用户,服务器端是网站。通过使用web浏览器,或者网络爬虫,客户端发起一个到服务端指定端口(默认为80)的http请求。应答服务器上存储着一些资源,比如html图像,给与客户端资源的应答。

二.HTTP协议的特点 HTTP是一个属于应用层的面向对象的协议,由于其简洁快速的方式,适用于分布式超媒体信息系统。主要特点有: 1.支持客户/服务器模式 2.简单快速:客户向服务器请求服务,只需传送请求方法和路径。请求方法有POST GET HEAD。由于HTTP协议简单,使得HTTP服务器的程序规模小,因为通信速度快。 3.灵活:HTTP允许传送任意类型的数据对象。正在传输的对象由content-Type加以标记。 4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 5.无状态:HTTP协议是无状态协议,无状态是指对于事物处理没有记忆能力。缺少状态意味着如果后面需要前面的信息,则他必须重传,这样可能导致每次连接传送的数据量增大。另一方面在服务器不需要先前信息则应答较快。

三.工作流程 一个HTTP操作称为一个事务,其工作过程分为四步: 1.首先客户机要与服务端建立连接。只要单击某个超级链接,HTTP工作开始。 2.建立连接后,客户机发送请求给服务端,请求方式的格式:统一资源标识符(URL),协议版本号,后面是MIME信息包括请求修饰符,客户机信息和可能的内容。 3.服务器接收请求后,给与相应的响应信息,其格式为一个状态行,包括信息的协议版本号,一个成功或者错误的代码,后面的MIME信息服务器,实体信息和可能的内容。 4.客户端接受的服务器信息通过浏览器返回在用户的显示屏上,然后客户机与服务器断开连接。如果在以上某个位置发生错误,那么产生错误信息将返回客户端,有显示屏输出。对用户来说,这些过程都由HTTP自己完成,用户只需要鼠标点击,等待信息显示就可以了 。

四.HTTP的请求响应模型 HTTP协议永远是客户端发起请求,服务端回应请求。  屏幕快照 2016-04-04 下午3.36.35.png 这样的模式限制了 ,在客户端没有发起请求,服务端没有办法将消息推送给客户端。HTTP协议时无状态协议,这一次请求跟下一次请求没有对应关系

五.HTTP几个重要概念 1.连接:Connection 2.消息:Message 3.请求:Request 4.响应:response 5.资源:resource 6.实体:Entity 7.客户机:Client 8.用户代理:UserAgent 9.服务器:Server 10.源服务器:OriginServer 11.代理:Proxy 12.网关:Gateway 13.通道:Tunnel 14.缓存:Cache

六:HTTP请求详解 1.HTTP请求由3部分组成,分别是请求头,请求行,请求正文 2.HTTP请求有8种方式 1⃣OPTIONS返回服务器针对特定资源所支持的HTTP请求方法 2⃣GET向特定的资源发出请求 3⃣POST向指定资源提交数据进行处理请求,,数据被包含在请求体重。 4⃣.HEAT向服务器索要与GET请求相一致的响应,只不过响应体将不会返回。 5⃣.PUT向指定资源位置上传其最新内容 6⃣.DELETE请求服务器删除Requste-URL所表示的资源。 7⃣.TARCE回显服务器收到的请求,主要用于测试和诊断。 8⃣.connet HTTP/1.1协议中预留能够将连接改为管道方式的代理服务器。

七.请求与响应  屏幕快照 2016-04-04 下午4.08.45.png 八.构建HTTP的GET请求 1.从NSURL解析出服务器的IP地址  屏幕快照 2016-04-04 下午4.10.13.png 2.从NSURL中解析出来HTTP请求头  
①注意一定要换行,换行符为\r\n ②第一行分别表示请求方式,请求路径HTTP协议版本 ③第二行表示后面的文档属于什么类型 ④第三行表示主机域名 ⑤第四行表示连接完毕后关闭连接。 ⑥第五行表示客户端浏览器内核版本,服务器可以根据这个参数返回不同的数据格式

3.使用NSString拼接:  屏幕快照 2016-04-04 下午4.11.56.png 九.HTTP与HTTPS之间的区别 HTTP协议以明文的形式发送消息,不提供任何方式的数据加密,如果攻击者截取了浏览器和服务器之间传输的报文,就可以直接读懂其中的信息,因此HTTP不适合传输一些敏感信息。为了解决这个弊端,需要使用另一种协议安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

二者的主要区别有四点; 1.https需要到CA申请证书,一般免费证书很少,需要交费 2.http是超文本传输协议,传递是明文。https则是具有安全性的ssl加密传输协议 3.http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443 4.http的连接很简单,是无状态的;https则是有ssl和http协议构建的可进行加密传输,身份认证的网络协议,比http协议更安全。

收藏
0
sina weixin mail 回到顶部