目录
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也是不安全的,攻击者盗取用户密码信息等进行违法操作(银行转账等)

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

