【Linux】应用层协议

目录

HTTP协议

HTTP的状态码

HTTP常见方法

​编辑

短连接和长连接

cookie

session


HTTP协议

1、url:

https代表端口号;www.baidu.com是ip;后续的是Linux机器下的某个服务器的资源的具体的路径。

ip定位主机,路径定位文件

2、http协议:在在全网当中,特定主机下,云服务器中,特定路径下去定位一个文件,然后通过协议把这个文件返回给客户端。

3、不管是图片、视频等等,都是文件。简单来说,Http协议就是传文件的

4、http提供的短服务

5、要是用户请求的资源不存在?或者错误?-->response的状态码

HTTP的状态码

1、重定向

临时重定向:当前跳转到其他网页后,还会跳回来。不改变任何信息,登录跳转,页面跳转之类的工作。

eg.牛肉店面告示:由于修路,暂时搬到西边,那么下一次还会去原先的店看一下,因为告示是临时的,不确定是否路已修好。

永久重定向:跳转到其他网页之后,不会跳回来。网站更换域名/更换网址,老用户就会收到重定向的地址。

eg.牛肉面的店直接搬到西门,是永久性的。

下面就是客户端访问一个页面的重定向过程,第一次访问s1失败,s1会返回一个30x的状态码,告诉客户端应该自动重定向到Location的新的位置,客户端会自动去找的,也就是重定向的过程。

HTTP常见方法

短连接和长连接

短连接:http1.0每次请求都要建立一个链接

长连接:http1.1建立一次连接之后,可以请求多次,返回多次

http只关心请求,不关心链接情况,只要HTTP能处理多个请求,那它就是长连接,否则,就是短连接。底层由TCPServer去关闭链接,所以HTTP本身其实是无连接的。

http的无状态:不记录用户历史访问过的页面,所以,只要用户刷新浏览器的首页,服务器就得提供一次服务。

引入:那不可能用户每次点击一个链接都要重新登录一次,所以浏览器做了工作,用到了cookie。

cookie存储用户的账号和密码,单纯使用cookie也是不安全的,攻击者盗取用户密码信息等进行违法操作(银行转账等)

解决办法:cookie+session

session

在服务器端为每个用户建立一个session,session里面存储用户的用户名及密码等信息,最终返回session id给用户,用户cookie就会保存session id,用户拿着session id再次进行访问就行。但是攻击者要是获取了session id不是还能进行访问呢吗?但是注意,此时就没有泄露用户信息了,只是session id的泄露,当然,http还有一些辅助方案,比如通过ip去检测账号是否异地登录,要是发现了可以让session id失效,让用户重新登录;还可以检测账号异常(用户突然与大量多数以前不聊天的人聊天)

相关推荐
orion576 小时前
Missing Semester Class1:course overview and introduction of shell
linux
用户1204872216112 小时前
Linux驱动编译与加载
linux·嵌入式
程序员老赵14 小时前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
vivo互联网技术18 小时前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
用户8055336980318 小时前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户8055336980318 小时前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
七歌杜金房1 天前
我终于又有了自己的 Linux 电脑
linux·debian·mac
tntxia2 天前
linux curl命令详解_curl详解
linux
扛枪的书生2 天前
Linux 网络管理器用法速查
linux