HTTP 入门

URL

什么是URL

* Uniform Resource Location(统一资源定位符)
*  网络中每一个资源都对应一个地址--> URL 

URL的基本格式

* 协议://主机地址:端口号/路径
    * 协议 : 不同协议代表不同的资源获取方式
    * 主机地址:主机的唯一标识(IP地址,域名)
    * 路径: 资源在主机中的具体位置

URL的常见协议

* http ,FTP,Mailto,File,tel://,sms://

HTTP 协议简介

什么是 http协议

* HyperText TransportProtocol(超文本传输协议)
* 浏览器和web服务器通讯时遵守的约定
* 互联网使用最多的协议
* 提供超文本传输协议
* 通过浏览器打开网使用的http提供的服务。

IP

IP

  • 两个计算机通讯必须要知道的:
    • IP地址和端口号
  • IP地址
    • IP地址是一个32位的二进制数,通常被分割为8位二进制数,通常用点分隔,10进制表示。
      • 192.168.1.1
      • 127.0.0.1 回路地址
      • 255.255.255.255 广播
      • 0.0.0.0 any
    • 唯一标识互联网上的一台计算机(IP地址不好记忆,所以有了域名)
    • 一个计算机可能有多个可用IP地址,如两块网卡
    • 内网的计算机,都通过路由器上网,它们对外的地址都是路由器的IP地址。

端口号

端口号

  • 标识进程(程序)的逻辑地址,不同进程(程序)的标识
  • 端口取值范围 : 0〜65535
  • 端口的分类:
    • 公认端口(Well Know Ports)
      • 这类端口也常称之为“常用端口”。端口号从0到1024,它们紧密绑定一些特定的服务。通常这些端口的通信明确表明了某种服务的协议,这种端口是不可再重新定义它的作用对象。比如: http: 80 ,ftp:21,pop3:110,smtp:25
    • 注册端口(Registered Ports)
      • 端口号从1025到49151。分配给用户进程或应用程序。这些进程主要是用户选择安装的一些应用程序,而不是已经分配好的公认端口的常用程序。
    • 动态和/或私有端口(Dynamic and/or Private Ports)
      • 端口号从49152到65535。之所以称为动态端口,是因为它一般不固定分配某种服务,而是动态分配。

网络模型

OSI七层网络模型

  • 应用层
  • 表示层
  • 会话层
  • 传输层
  • 网络层
  • 数据链路层
  • 物理层

    TCP/IP 网络模型

  • 应用层

    • 对应OSI模型的前三层 ,为用户提供所需要的各种服务,例如 : FTP,Telnet,DNS,SMTP,HTTP等
  • 传输层

    • 为应用层提供端到端的通信功能,保证了数据包的传输顺序及数据完整性。两个主要协议:TCP/UDP
  • 网络层
    • 解决主机到主机的通信问题。它所保护的协议设计数据包在整个网络上的逻辑传输。注重重新赋予主机一个IP地址来完成对主机的寻址,它还负责数据包在多种网络中和路由。该层有三个重要协议 :网际协议(IP),互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)
  • 网络接入层
    • 负监视数据在主机和网络之间的交换。

传输协议

  • TCP (传输控制协议)
    • TCP 协议提供的是一种可靠的,通过“三次握手”来连接的数据传输服务
  • UDP(用户数据报协议)
    • UDP 协议提供的则是不保证可靠性,无连接的数据传输服务。

Socket

  • 两个计算机通讯的过程,就像两个人打电话一样
  • Socket
    • Socket 又称“套接字”,应用程序通过“套接字”向网络发送请求或向网络做出应答
    • 网络通信其实就是Socket之间的通信
    • 数据在两个Socket之间通过I传输数据
    • Socket是纯C语言的,是跨平台的
    • HTTP协议是基于Socket的,HTTP协议的底层使用的就是Socket

通讯过程

  • 创建Socket
  • 连接到服务器
  • 发送数据到服务器
  • 从服务器接收数据
  • 关闭连接

socket对应于TCP/IP网络模型中的应用层和传输层之间


   转载规则


《HTTP 入门》 志鹏 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
CoreLocation CoreLocation
获取定位信息iOS开发者使用CoreLocation.framework框架进行定位非常简单CoreLocation框架的常用API主要有如下几个。 CLLocationManager定位管理器类。 CLLocationManagerde
2017-03-22
下一篇 
keyboard_iOS keyboard_iOS
一. 键盘通知 当文本View(如UITextField,UITextView, UIWebView内的输入框)进入编辑模式成为first responder时,系统会自动显示键盘。成为firstresponder可能由用户点击触发,也可
2017-03-16
  目录