1. HTTP协议(超文本传输协议HyperText Transfer Protocol)
它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。
2. 为啥要有这个协议?
因为服务器和要和客户端通信, 需要一个相同的语言
3. 超文本
超文本指的是超级文本, 文本中除了文字, 还可以传送图片, 音频, 视频等, 趋势就是html文件
4. 什么是传送协议
其实就是规定如何从网站服务器传送html文本-->到浏览器
5. 他是客户端和服务器端请求和响应的标准
6. 其中有报文的概念
HTTP请求由三部分组成,分别是:请求行,消息报头,请求正文。
他是请求和响应携带的数据块, 报文数据块就是两者对话的说明, 以及对话内容
只有在发送POST请求时才会有请求正文,GET方法并没有请求正文。
http的get请求一般不带body的,post时会携带数据,数据在body里,比如你要上传照片,那么照片的数据就在body里
请求报文
客户端对服务器端说的话的数据块
响应报文
HTTP的五大特点
- 支持客户/服务器模式。
- 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。
- 请求方法常用的有GET、HEAD、POST。
- 每种方法规定了客户与服务器联系的类型不同。
- 由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
- 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
- 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。早期这么做的原因是请求资源少,追求快。
- 后来通过Connection: Keep-Alive实现长连接
- 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
说一下https , 自己的理解
首先你搜到的肯定是长篇大论 随便一搜, 你看一下不论是怎么去传数据, 其实都是不安全的因为, 及时你加密, 开始的密钥总能在中间被人截取 所以就有了证书中间人, 服务器去注册, 我们访问时, 我们有中间人证明就是找到正版服务器了 然后通过服务器密钥生成自己的密钥,给正版服务器一个密钥, 这是既可以安全的请求了