iOS移动开发社区iOS 重修笔记

重修笔记之网络编程原理URL

2018-03-14  本文已影响9人  iOS_July

一、网络编程基本概念

HTTP-超文本传输协议
HTTP基于请求应答,需要的时候建立连接提供服务,不需要的时候断开链接。
网络编程就是通过使用套接字来达到进程间通信目的的技术。

概念 含义
客户端 Client 移动应用[iOS、Android]
服务器 Server 为客户端提供服务、提供数据、提供资源的机器
请求 Request 客户端向服务器索取数据的一种行为
响应 Response 服务器对客户端的请求做出的反应,一般指返回数据给客户端
客户端想要访问数据,首先要提交一个请求,用于告知服务器想要的数据。  

服务器接受到请求后,就根据该请求到数据库中查找相应的资源  
无论服务器是否成功拿到资源,都会将结果返回给客户端,这个过程就叫响应。
补充:
网络上所有数据都是'二进制数据',并且以二进制流的形式从一个节点到另一个节点。

二、URL

基本格式:
协议://主机地址:端口号/路径

URL全称Uniform Resource Locator,即统一资源定位符,通过一个URL可以找到互联网上唯一的资源,类似于计算机上一个文件的路径。

URL.png

上图URL省略了端口号,实际上,一个完整的URL由四个部分组成,分别是协议IP地址端口路径

协议

指定使用的传输协议,就可以告诉浏览器如何处理将要打开的文件
不同的协议表示不同的资源查找以及传输方式

常见的协议 代表类型 示例
File 访问本地计算机的资源 file:///User/xxx/Desktop/file.html
FTP 访问共享主机的文件资源 ftp://ftp.baidu.com/movies
HTTP 超文本传输协议、访问远程网络资源 http://www.baidu.com
HTTPS 安全的SSL加密传输协议、访问远程网络资源 https://www.jianshu.com/u/21c35a95919e
Mailto 访问电子邮件地址 mailto:null@xxx.cn

IP地址

IP地址[Hostname]被用来给Internet上的每台电脑编号,也叫主机地址。
但是IP地址不容易记忆,如在Safari的地址栏中输入http://180.97.33.107,即可打开百度首页,这表示该地址就是百度的IP地址,但很不容易记忆,故而使用域名www.baidu.com替代以访问网站。

端口

IP地址后面有时还会跟上一个冒号端口号,这是为了在一台设备上运行多个程序,人为的设计了端口[Port]的概念,类似于公司内部的分机号码。每个网络程序,无论是客户端还是服务器端,都对应一个或多个特定的端口号。

协议 端口 说明 全拼
HTTP 80 超文本传输协议 Hypertext transfer protocol
HTTPS 443 超文本传输安全协议 Hyper Text Transfer Protocol over Secure Socket Layer
FTP 20、21、990 文本传输协议 File Transfer Protocol
POP3 110 邮局协议[版本3] Post Office Protocol - Version3
SMTP 25 简单邮件传输协议 Simple Mail Transfer protocol
telnet 23 远程终端协议 teletype network

实际上,每个传输协议都有默认的端口号。它是一个整数,如果输入时省略,则会使用默认端口。
如果要采用非标准的端口号,这时的URL是不能省略端口号的。

路径

路径[Path]是由0或者多个/符号隔开的字符串,一般用于表示主机上的一个目录或者文件的地址。

上一篇下一篇

猜你喜欢

热点阅读