HTTP协议

HTTP请求报文格式:

HTTP请求报文主要由请求行、请求头部、请求正文3部分组成


HTTP报文格式.jpeg

1、请求行
由3部分组成,分别为:请求方法、URL以及协议版本,之间由空格分隔
请求方法:
GET POST DELETE TRACE HEAD
2、请求头
请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息,典型的请求头有:
Usr-Agent:产生请求的的浏览器类型
Accept:客户端可识别的内容类型列表
Host:请求的主机名
其他sever client 约定的信息,如token ,deviceId等信息,以下是实际项目中用到的请求头部,大部分都是自定义,各个请求都需要携带的头信息

墨客的httpHeader.png

狐友的HttpHeader.png

3、请求体

- (NSMutableURLRequest *)multipartFormRequestWithMethod:(NSString *)method
                                              URLString:(NSString *)URLString
                                             parameters:(NSDictionary *)parameters
                              constructingBodyWithBlock:(void (^)(id <AFMultipartFormData> formData))block
                                                  error:(NSError *__autoreleasing *)error

以上parametes参数,通过请求体传的?还是请求头传的?
请求体


oc post 传参.png

问题二:
cookie是请求的哪一部分
如上图所示,请求头
form表单是请求的那一部分?
请求体
HTTP响应体可以是json也可以是html

HTTP策略鉴权分类

1、HTTP Basic Authentication
2、session-cookie
3、token验证
4、OAuth(开放授权)
参考链接:https://blog.csdn.net/wang839305939/article/details/78713124

HTTP常见请求方法

image.png

状态码说明

状态码 说明
1xx (临时响应)表示临时响应并需要请求这继续执行操作的状态码
2xx (成功)服务器已经成功处理了请求。通常,这表示服务器提供了请求的网页
3xx (重定向)表示要完成请求,需要进一步操作。通常这些状态码用来重定向
4xx (请求错误)这些状态码表示请求可能出错,一般为客户端错误,妨碍了服务器的处理
5xx (服务器错误)表示服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错

问题:和谁通信

URL决定和谁通信

URL构成.png

算法题:判断一个IP是否是合法IP?
思路:先了解IP的格式,形式为(1255).(1255).(1255).(1255) 有两种方法实现,一种基于对字符串的处理;另一种通过强大的正则表达式判断。

HTTP && HTTPS

HTTP全称 hyper Text Transfer Protocol
HTTPS全称 hyper Text Transfer Protocol OverSecure Socket Layer,HTTPS是以安全为目标的HTTP通道,简单将是HTTP的安全版 HTTPS = HTTP +SSL(安全套接字)

SSL:Secure Sockets Layer 安全套接层
TLS:Transport Layer Security 传输层安全,SSL继任者
TLS与SSL在传输层之上对网络连接进行加密,为网络通信提供安全及数据完整性。

HTTP&HTTPS.png

HTTP&HTTPS区别
1、HTTPS协议需要到CA申请证书,需要交费
2、HTTP是明文传输,HTTPS则是具有安全性的SSL加密传输
3、HTTP和HTTPS使用的端口不一样,前者是80,后者是443
4、HTTPS可进行加密传输,身份认证,比HTTP安全
问题:
实际开发中HTTPS可设置不验证证书,直接传输么?
具体参见:https://lvwenhan.com/autolayout-club/478.html,了解iOS设置验证机制的API
IP协议是网络七层协议的哪一层?
网络层,如下图所示

OSI参考模型.png

网络七层协议.png
  • TCP连接建立的三次握手与四次挥手
TCP连接建立.png
  • SSL连接建立过程
SSL连接建立过程.png

SSL连接建立说明
1、验证服务端证书数字摘要和服务证书解密之后的内容是否一致 篡改
2、证书链 根证书---》浏览器&操作系统可信任证书列表中
3、建立之初采用非对称加密保证安全 建立之后采用对称加密传递数据

问题:TCP连接建立的三次握手与SSL连接建立的过程有啥关系?
https和http都是在tcp层之上的,需要tcp三次握手之后才会开始,https是又包装了一个建立加密层的过程,建立完毕后,加密层里面跑的是http

HTTPS中的对称加密


对称加密.png

HTTPS中的非对称加密


非对称加密.png

iOS客户端中证书设置

实现NSURLSessionDelegate中如下代理

- (void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge
 completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential * _Nullable credential))completionHandler {
}
相关问题

1、http性能优化
https://www.jianshu.com/p/54e93303f0d7
2、iOS网络缓存优化
https://github.com/ChenYilong/ParseSourceCodeStudy/blob/master/02_Parse%E7%9A%84%E7%BD%91%E7%BB%9C%E7%BC%93%E5%AD%98%E4%B8%8E%E7%A6%BB%E7%BA%BF%E5%AD%98%E5%82%A8/iOS%E7%BD%91%E7%BB%9C%E7%BC%93%E5%AD%98%E6%89%AB%E7%9B%B2%E7%AF%87.md

参考链接:

https://my.oschina.net/u/2340880/blog/807358
https://my.oschina.net/u/2340880/blog/807863
https://www.imooc.com/learn/969

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

推荐阅读更多精彩内容