美文网首页
网络编程

网络编程

作者: 全無 | 来源:发表于2017-11-14 10:10 被阅读9次

    抄别人的内容,自己真正能掌握的有多少呢?改掉 抄东西,不思考的坏习惯
    获取信息的速度太慢

    一、网络编程基础

    • 在移动互联网时代,,几乎所有应用都需要用到网络,只有通过网络跟外界进行数据交互、数据更新,应用才能保持新鲜、活力。一个好的移动网络应用不仅要有良好的UI和良好的用户体验也要具备实时更新数据的能力。网络编程便是一种实时更新数据的常用手段也是开发优秀网络应用的前提和基础,

    1、在网络编程中,有几个必须要掌握的基本概念

    客户端(Client) : 移动应用(ios 、android等应用)
    服务器(Server): 为客户端提供服务、提供数据、提供资源的机器
    请求(Request): 客户端向服务器索取数据的一种行为
    响应(Response): 服务器对客户端的请求做出的反应,一般指返回数据给客户端

    二、HTTP协议

    HTTP 协议是在网络开发中最常用的协议

    1、概念

    • 协议:协议是指计算机通信网络中两台计算机之间通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议。
      HTTP协议:即超文本传输协议(Hypertext transfer protocol).是一种详细规定了浏览器和万维网(WWW= Word Wide Wed)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。

    • HTTP协议的作用:HTTTP协议是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以是浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中那一部分,以及那部分内容首先显示(如文本先于图形)等。

    • URL: 我们在浏览器的地址栏里输入的网站地址叫做URL(Uniform Resource Locator 统一资源定位符),就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,浏览器通过超文本传输协议(HTTP),将web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。

    • 2、HTTP版本区别
      HTTP/0.9和1.0使用非持续连接,限制每次连接只处理一个请求,服务器对客户端的请求做出响应后,马上断开连接,这种方式可以节省传输时间
      HTTP/1.1当前版本,持久连接被默认采用,并能很好地配合代理服务器工作。还支持以管道方式同时发出多个请求,以便降低线路负载,提高传输速度。

    • 3、HTTP工作流程
      一次HTTP操作称为一个事物,其工作过程可分为四步:
      1、首先客户机与服务器需要建立连接,只要单击某个超级链接,HTTP的工作就开始了。
      2、建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户信息和可能的内容。
      3、服务器接到请求后, 给予相应的相应信息,其格式为一个状态行,包括信息的协议版本号,一个成功或错误的代码,后边是MIME信息包括服务器信息,实体信息和可能的内容。
      4、客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。

    HTTP通信过程-请求详细内容

    • HTTP协议规定:一个完整的由客户端发给服务器的HTTP请求中包含以下内容
      请求头:
      包含了对客户端的环境描述、客户端请求信息等
      GET/minion,pngHTTP/1.1.//包含了请求方法、请求资源路径、HTTP协议版本
      Host:120.25.226.186:32812//客户端想访问的服务器主机地址
      User-Agent:Mozilla/5.0//客户端的类型,客户端的软件环境
      Accept-Language:zh-cn//客户端的语言环境
      Accept-Encoding:gzip //客户端支持的数据压缩格式

    请求体:客户端发给服务器的具体数据,比如文本数据(POST请求才会有)

    HTTP通信过程-响应详细内容

    • 客户端向服务器发送请求,服务器应当作出响应,即返回数据给客户端
      HTTP协议规定:1个完成的HTTP响应中包含一个内容
      响应头:包含了对服务器的描述、对返回数据的描述
      HTTP/1.1 200 OK// 包含了HTTP协议版本、状态码、状态英文名称
      Server:Apache-Coyote/1.1//服务器的类型
      Content-Type:image/jpeg //返回数据的类型
      Content-length:56811//返回数据的长度
      Data:Mon,23Jun 2014 12:54:52 GMT//响应的时间

    • 响应体:服务器返回给客户端的具体数据,比如文件数据
      常见响应状态码

    • 注意:
      HTTP是基于传输层的TCP协议,而TCP是一个端到端的面向连接的协议。所谓的端到端可以理解为进程到进程之间的通信。所以HTTP在开始传输之前,首先需要所谓的“三次握手”

    相关文章

      网友评论

          本文标题:网络编程

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