zoukankan      html  css  js  c++  java
  • iOS开发-基本的网络知识

    一、HTTP协议的主要特点:(摘自 仰望星空 的博客)重点内容 
    1. CS模式 
    2. 简单快速:只需要传送请求方法和路径。(常用方法有GET,HEAD,POST) 
    3. 灵活:任意对象都可以,类型由Content-Type加以标记 
    4. 无连接、无状态 即每次连接只处理一个请求,对于事务处理没有记忆能力 
    http表示要通过HTTP协议来定位网络资源;host表示合法的Internet主机域名或者IP地址;port制定一个端口号,为空时使用缺省端口号80;abs_path指定请求资源的URI;如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出(此过程由浏览器完成)。

    二、TCP/UDP区别和联系 
    1.TCP是面向连接的可靠的传输控制协议,UDP是面向非连接的用户数据报协议. 
    2.TCP(三次握手保证相对可靠性)可传大量数据,速度相对比较慢,UDP一次性传输少量对可靠性要求不高的数据,速度比较快 
    tcp一般用于音频、视频等数据的传输,资源能耗比较小,对可靠性要求不高,即使丢失一两条数据也不会产生太大影响。
    区别参考链接:http://www.cnblogs.com/Jessy/p/3536163.html

    三、Socket连接和Http连接的区别 
    1.http是基于socket之上的,socket是一套完成tcp和udp协议的接口 
    2.HTTP协议:简单对象访问协议,对应于应用层 ,HTTP协议是基于TCP连接的 
    3.tcp协议: 对应于传输层 
    4.ip协议: 对应于网络层 
    TCP/IP是传输层协议,主要解决数据如何在网络中传输而HTTP是应用层协议,主要解决如何包装数据。 
    Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。 
    http是短连接,客户端向服务端发送一次请求,服务端响应后连接即断掉;socket是长连接,一般情况下,如果服务器端或者客户端主机down了,网络故障,或者两者长时间没有数据传输,连接可能会断。所以当一个socket连接中没有数据的传输,为了维持连接需要发送心跳消息。

    四、三次握手的过程不再赘述,主要来了解下socket建立网络连接的步骤 
    建立socket连接至少需要一堆套接字,其中一个运行于客户端,另一个运行于服务端(ClientSocket、ServerSocket) 
    套接字建立连接的过程分为三步:服务器监听、客户端请求、连接确认 
    1。服务器监听:服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态,等待客户端的连接请求。 
    2。客户端请求:指客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址端口号,然后就向服务器端套接字提出连接请求。 
    3。连接确认:当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,双方就正式建立连接。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。

    五、HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。

  • 相关阅读:
    Linux上面执行 Windows 命令(比如 重启服务)的简单方法
    Linux 通过cksum 来判断文件是否是相同
    Linux 根据端口快速停止服务并启动的办法
    Delphi控件开发浅入深出(三)
    Delphi 资源文件( .res)
    C++中模块(Dll)对外暴露接口的方式
    delphi Align属性
    cport串口控件的应用
    两款工控控件对比评测:Iocomp和ProEssentials
    Android 将ARGB图片转换为灰度图
  • 原文地址:https://www.cnblogs.com/jierism/p/6125067.html
Copyright © 2011-2022 走看看