版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wanggang514260663/article/details/86806840
文章目录
http协议是超文本传输协议,定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。
可以一句话简述为:客户端发送请求,服务器返回响应。
1-1、url组成
- protocol 协议,常用的协议是http
- hostname 主机地址,可以是域名,也可以是IP地址
- port 端口 http协议默认端口是:80端口,如果不写默认就是:80端口
- path 路径 网络资源在服务器中的指定路径
- parameter 参数 如果要向服务器传入参数,在这部分输入
- query 查询字符串 如果需要从服务器那里查询内容,在这里编辑
- fragment 片段 网页中可能会分为不同的片段,如果想访问网页后直接到达指定位置,可以在这部分设置
1-2、tcp三次握手
1-3、http特点
- 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET\POST。
- 灵活:http允许传输任意类型的数据对象。正在传输的类型由content-type加以标记
- 无连接:无连接的含义是限制每次请求连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接。
- 无状态:http协议是无状态协议,无状态是指协议对于事务处理没有记忆能力
1-4、常用的状态码
状态编码 | 描述 |
---|---|
200 ok | 客户端请求成功 |
400 bad request | 客户端请求有语法错误,服务器无法理解 |
401 unauthorized | 请求未经授权 |
403 forbidden | 服务器收到请求,单方面拒绝提供服务器响应 |
503 server unavailable | 服务器当前不能处理客户端请求,但一段时间可能恢复正常 |
500 internal server error | 服务器内部错误,无法完成请求 |
1-5、osi七层模型
osi,即开放式系统互联。是iso组织在1985年研究的网络互联模型。
osi定义了网络互联的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)
- 物理层和数据链路层:帮助我们把比特流信息转换为电流信息,以及在物理流信息和电流之间做一个转换。
- 网络层:对应http协议中的ip地址,规划整个网络中的ip地址。
- 传输层:规定了底层通过哪种协议进行传输,最常见的udp,tcp等协议
- 会话层: 处理表示层和传输层之间的会话
- 表示层: 进行编码的转换
- 应用层: 邮件等各种服务
1-6、http1.0与1.1比较
- http1.0每次请求都要建立新的tcp连接,连接不能复用
- http1.1连接可以复用,在request消息头增加了host,增加了put,delete,connect等request方法。
1-7、http1.1与http2比较
- http2采用二进制而不是文本格式
- http2完全的多路复用
- http2可以让服务器主动把响应推动到客户端混存中
1-8、http请求会经历那些阶段?
1-9、http中get和post有何区别?
1-10、http和https的区别?
- https协议是一个安全通信通道,它基于http开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换。
- https协议需要到ca申请证书
- https则是具有安全性的ssl加密传输协议
- 端口不同
- https协议是由ssl+http协议构成的可进行加密传输、身份认证的网络协议,要比http协议安全