《iOS面试题整理》- 谈谈你对 http 和 https 的理解

TCP/IP 四层模型

应用层 : FTP 、HTTP、DNS、SMTP
运输层 :TCP、UDP
网络层 : IP
链路层 :硬件接口

OSI参考模型

应用层:应用层协议, HTTP、FTP、SMTP
表示层 :加密解密、压缩解压
会话层 : 不同机器上用户之间及管理会话
传输层 : 接受上一层数据, 必要的时候把数据进行分割, 交给网络层, 保证数据段有效到达对端
网络层 : 控制子网的运行、逻辑地址、分组传输、路由选择
数据链路层:物理寻址
物理层:原始比特流传输

HTTP

超文本传输协议, 默认端口是 80

特点

  • 无状态: 每次请求都是独立的, 两个请求之间没有联系, 但是会引入 Cookie 和 Session 机制来关联请求

  • 无连接:服务端收到客户端请求后, 响应完成并收到客户端的应答之后, 立即断开连接

请求报文

  • 请求行

    • 方法 : GET 、POST 、HEAD、PUT、DELETE、OPTIONS
    • URL 字段
    • HTTP协议版本号
  • 请求头

    • Accept: 浏览器可以接受的 MIME 类型
    • Accept-Encoding:浏览器支持的编码类型
    • Accept-Language: 浏览器支持的语言
    • Content-Length : 请求消息的正文长度
    • Content-Type : 客户端接受服务器返回的文件类型
    • User-Agent : 请求的用户信息, 浏览器类型
    • Host : 给出接受请求的服务器主机名和端口号

响应报文

  • 响应行

    • 报文协议及版本
    • 状态码及描述
  • 响应头

    • Content-Length : 响应消息长度
    • Content-Type : 当前内容的 MIME 类型
    • Server : 服务器名称
    • Set-Cookie : 设置 cookie
  • 响应码

    • 1xx : 临时响应, 需要请求者继续执行操作
    • 2xx: 成功处理了请求的状态码
    • 3xx : 如果要完成请求, 需要进一步操作, 重定向
    • 4xx : 请求出错
    • 5xx: 服务器内部错误

HTTPS 原理

默认端口号是 443

  1. 客户端请求 https 连接, 服务器收到请求后会把证书信息(包含公钥和签名) 返回给客户端
  2. 客户端会校验这个证书签名的有效性从而获取到公钥
  3. 客户端随机生成会话密钥(对称加密), 然后利用证书里面的公钥将会话密钥加密, 连同加密后的内容传送给服务端
  4. 服务器利用私钥解密出会话密钥, 然后解密出内容
  5. 服务端利用会话密钥通信

HTTPS 优缺点

优点

  1. 可以认证用户和服务器, 确保数据发送到正确的客户端和服务端
  2. 防止数据在传输过程中不被窃取、改变, 确保数据的完整性

缺点

  1. 比较耗时, 页面的加载时间延长 50%, 增加 10% 和 20%的耗电
  2. SSL 证书要钱
  3. https 连接缓存不如 http 高效
  4. 并非绝对安全, 掌握CA证书机构、加密算法的组织任然可以进行中间人形式的攻击

http 和 https 的区别

  1. http 协议没有加密, https 对传输数据加密, 保证用户信息
  2. http 默认端口是80, https 默认端口是443
  3. http 无需证书, 而 https 需要购买证书

http 1.x 和 http 2.0 的区别

  1. 新的二进制格式: 1.x 的解析是基于文本的, 2.0是二进制格式
  2. 多路复用: 连接共享。 1.x 每次请求都建立一个链接, 用完关闭, 串行单线程处理, 后面的请求等待前面请求返回才能执行。 2.x 多个请求同时在一个连接上并行执行
  3. header压缩: 1.x 的header 有大量信息每次都要重复发送, 2.0 使用 encoder 来减少传输的 header 大小
  4. 服务端推送

get 和 post 的区别

  1. get 的请求放在 URL 上, 参数之间以 & 相连, post 请求放在 http body 内
  2. get 的提交数据最大有限制, 跟环境有关系, post 理论上没有限制, 大小由服务器设定
  3. get 产生一个 TCP 数据包, 浏览器会一起发送 header 和 data, 服务器返回200
    post 有些服务器是只发一个 TCP 数据包, 有些会先发送header, 服务器返回100后, 再发送data, 返回200
  4. get 请求会主动 cache, post 不会, 除非手动设置
  5. get 在浏览器返回时是无害的, post 会再次提交请求
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,039评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,223评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,916评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,009评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,030评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,011评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,934评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,754评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,202评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,433评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,590评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,321评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,917评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,568评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,738评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,583评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,482评论 2 352

推荐阅读更多精彩内容