2019.7.22
讲http 和 dns 分别是什么.
考点:
1.http协议头中都有哪些内容, 这些内容是用来做什么的?
https://blog.csdn.net/u010429424/article/details/78032006
2.cookie 和 session 是什么
3.header 用来做什么
4.HTTP 和 TCP 的关系是什么?
5.URL 由哪些部分组成
6.DNS 的全称是什么?
7.根服务器是用来做什么的?
8.一个完整的 DNS 解析过程是怎么做的?
9.ANAME CNAME 分别是什么?
1.说明服务器要使用的附加信息
主要分为请求头和响应头
Request头:(很多accept方面的请求头)
1)accept:能接受的返回类型
2)accept charset:能接受的字符集
3)accept encoding:能接受的编码类型
4)accept language:能接受的语言类型
5)user-agent:哪种浏览器
6)referer:告诉服务器从哪个链接去访问
7)keep-alive:希望服务器保持此次链接(多长时间)
Reponse头:
1)content encoding:响应使用的压缩方法
2)content Language:用了什么语言
3)content length:数据内容的长度
4)content type:返回的数据格式
5)location:url转移到了别处
2.
1)Cookie
(1)Http是无状态协议,也就是即使第一次和服务器连接后并且登陆成功后,第二次服务器依然不知道当前请求是哪个用户,每个请求之间无法共享数据,cookie就是为了解决这个问题
(2)第一次登陆后服务器返回一些数据给浏览器,浏览器保存到本地,当用户发送第二次请求,就会自动的把上次请求存储的cookie 数据自动携带给服务器,这样服务器就知道当前用户是哪个
(3)Cookie存储的数据量有限,不同浏览器有不同的存储大小,因此Cookie只能存储一些小量的数据
(4)服务器保存在客户端的数据(存储在客户端,浏览器的内存中,关闭浏览器将释放)
(5)是一个键值对
//(6)cookie存储session的id
2)Session
(1)存储在服务器(弊端:占用服务器资源,优点:安全,不易被盗取)
(2)发送第二次请求时候,cookie会将session_id
一同发送给服务器,这样就可以直接查找session以及相关用户信息,使用同一个session对象
区别:
- Cookie是把用户的数据写给用户的浏览器。
- Session技术把用户的数据写到用户独占的session中。
- Session对象由服务器创建,开发人员可以调用request对象的getSession方法得到session对象。
https://blog.csdn.net/weixin_36416680/article/details/80506150
3.
4.
TCP是在传输层,HTTP是在应用层,TCP单纯建立连接,不涉及任何请求数据,Http用来收发数据,Http是建立在TCP的基础上
5.
1)协议部分:http或者ftp等,使用//分隔
2)域名部分:也可使用IP地址作为域名部分
3)端口部分:不是必须的,省略则使用默认端口,与域名使用:分隔
4)虚拟目录部分:非必需,域名后第一个/到最后一个/结束,
5)文件名部分:域名后最后一个/到?或者#或者到结束,优先级递减,为止,
6)锚部分:#号开始到最后
7)参数部分:?号开始到最后
6.Domain Name System(在使用域名访问网络资源,都会将域名解析为IP地址)
7.根服务器主要用来管理互联网的主目录,
8.
网络客户端查询hosts文件
If 不存在
查询本地DNS缓存
If 不存在
本地DNS向根DNS服务器请求
If不存在
根服务器给出域服务器地址,本地DNS向域请求
直到找到。
最后本地DNS服务器给出IP地址,并把对应关系保存在缓存中,以备下次用户查询
9.
Aname:指定主机名对应的IP地址,把域名解析到一个IP地址
Cname:别名记录,允许将多个名字映射到另外一个域名,通常用于同时提供www和mail服务器的计算机
Cname是将域名解析到另一个域名,然后在做一个aname
如果一台服务器有很多网站,这些网站都有cname,这样变更服务器IP地址时,只需要变更这些网站的Aname就可以了