一、通过计算器demo初识协议
https://gitee.com/ipengx1029/linux101/tree/master/lesson34-protocol
二、HTTP协议
1、http协议初识
2、研究http的request
1、请求报头
特点:
- 以行为单位的消息内容陈列
- 除了第一行,其余都是name:value的形势
- 最后有一个空行
每一次协议都必须解决两个问题:
1、将报头和有效载荷进行分离(解包)
2、将自己的有效载荷交付给上层协议(分用)
空行可以用来将有效载荷和报头进行分离!!!
3、http的response
4、利用HTTP返回html网页
https://gitee.com/ipengx1029/linux101/tree/master/lesson35
http报头错误怎么办?:每个浏览器对于http支持是不一样的,因此在正常返回时把状态码填成404,有些浏览器也是可以显示的。
404属于客户端错误
5、3XX—重定向
301:永久重定向,会更新client端的书签里的目标网址地址
302、307:临时重定向
学校西门有家酸辣粉,因为修路,搬到了东门,他们在老地址上挂了一个牌子说:临时搬去东门;我们去西门看到这个消息后就跑去东门吃了,那么因为告诉我们是临时的,那我们下次还是会去西门看看有没有搬回来。 但是后来因为某种原因永久搬到了东门,在原来老地址挂个牌子说永久搬到东门,那我们心里对于这家酸辣粉店的地址认知就改变到了东门(更新书签),以后就全到东门去了。
location:搭配3xx状态码,告诉client接下来该去哪儿访问
可以分两次分别返回状态行和响应报头,因此TCP是基于字节流的
6、请求方法
1、GET
2、POST
7、Cookei和Session
报头添加Set-Cookie选择
请求一次后收到cookie后再次请求,请求报头会携带cookie字段
1、cookei
2、session
8、https
背景知识
1:
2:3:
4:
一段长文本,通过哈希算法提取出一小段文本,叫做摘要;对摘要进行特定的加密,形成数据指纹
1、对称加密
2、非对称加密
3、非对称加密解密(密钥协商阶段)+对称加密解密(通信加密阶段)
版本一
client发起请求,进行TLS握手,server自己有一套公钥+私钥,把公钥发给client,client使用公钥加密随机生成的对称密钥发给server,srever用私钥进行解密得到对称密钥。
但是这种方法存在危险!!!
server向client发送公钥的过程可能会被劫持