IOS面试(一)-网络篇

894 阅读2分钟

应用层协议:

http,FTP,TELNET


传输层协议:

TCP/IP


在HTTP/1.1协议中,定义了8种发送http请求的方法 :

GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT、PATCH


HTTP、TCP、UDP 三者的关系:

可分为四个层次:网络接口层、网络层、传输层和应用层。 主要解决数据如何在网络中传输。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。 在传输层中有TCP协议与UDP协议。 在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。 因此,HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议。HTTP协议是基于TCP连接的。主要解决如何包装数据


HTTP

Hypertext Transfer Protocol,超文本传输协议


socket

Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。


URL的全称是Uniform Resource Locator


OS 网络编程层次结构分为三层:

  • Cocoa 层: NSURL,Bonjour,Game Kit,WebKi。这层是最上层的基于 Objective-C 的 API,比如 URL访问,NSStream,Bonjour,GameKit等,这是大多数情况下我们常用的 API。Cocoa 层是基于 Core Foundation 实现的。
  • (可触摸层) Core Foundation 层: 基于C的CFNetwork和CFNetServices。因为直接使用 socket 需要更多的编程工作,所以苹果对 OS 层的 socket 进行简单的封装以简化编程任务。该层提供了 CFNetwork 和 - -CFNetServices,其中 CFNetwork 又是基于 CFStream 和 CFSocket。(核心服务层)
  • OS 层: 基于 C 的 BSD socket。(核心操作系统层)

Http和Https区别,安全性:

HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。  HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。