计算机网络|HTTP篇

高频面试题:※※※※※※

一. 从输入URL到页面展示到底发生了什么(浏览器输入网址后执行的过程)

1.浏览器查找域名的ip

DNS查找过程:去浏览器缓存,路由器缓存,DNS缓存查是否有该域名的ip信息

没有的话发送DNS请求去DNS服务器查找ip地址

2.和应用服务器通过三次握手建立连接

3.客户端发送http请求

4.服务器处理请求并返回HTTP资源

5.浏览器解析响应报文,渲染页面

6.通过tcp四次挥手关闭连接

二. HTTP为什么是无状态的

HTTP本身不保留与客户端之间的状态信息。每个HTTP请求都是独立的,服务器在处理请求时不会记住之前的通信状态

三. HTTP如何保存状态

使用Cookie:客户端接收到响应后,将该标识符保存在本地,并在之后的每个HTTP请求中都将该标识符作为Cookie发送给服务器

若Cookie被禁用

可以重写url每把sessionId添加在url路径后面

原理:用户第一次请求服务器的时候,服务器根据用户提交的相关信息,创建对应的 Session ,请求返回时将此 Session 的唯一标识信息 SessionID 返回给浏览器,浏览器接收到服务器返回的 SessionID 信息后,会将此信息存入到 Cookie 中,同时 Cookie 记录此 SessionID 属于哪个域名。

当用户第二次访问服务器的时候,请求会自动判断此域名下是否存在 Cookie 信息,如果存在自动将 Cookie 信息也发送给服务端,服务端会从 Cookie 中获取 SessionID,再根据 SessionID 查找对应的 Session 信息,如果没有找到说明用户没有登录或者登录失效,如果找到 Session 证明用户已经登录可执行后面操作。

服务器记录数据:session,redis,threadlocal等

四. HTTP长连接和短连接

1.HTTP/1.0中,默认为短连接。 每进行一次HTTP操作,就会建立一次连接,任务结束就终端连接。

2.HTTP/1.1中,默认使用长连接,响应头加入Connection:keep-alive

发起完HTTP请求后,并不关闭连接,当连接复用次数到一定次数,或者过了一定时间、或者客户端主动释放连接才会关闭连接。

五. HTTPS和HTTP的区别

1.HTTP:超文本传输协议

特点:无状态协议,数据通过明文传输,默认端口80

2.HTTPS协议

特点:HTTP的加强安全版本,数据使用密文传输,也是用TCP作为底层协议,额外使用SSL/TLS协议用作加密和安全认证,默认端口443

SSL/TLS:安全套接字协议,TLS是SSL的升级版

功能:提供身份认证,机密性和完整性服务,在传输层和应用层之间,对应用层是透明的,应用层将数据传给SSL层,再传给传输层

组成:握手协议:协商加密算法,mac算法,和会话密匙

记录协议:对交换的数据进行加密和签名

警报协议:解决问题

原理:0.浏览器建立连接请求

1.服务器回复SSL版本,并发送证书和公钥

2.浏览器将对称加密的钥匙,经过公钥加密后发给服务器

3.现在两端都有对称加密秘钥了

4.连接建立

5.连接中消息的发送使用对称加密的秘钥

六. HTTP1.0,1,1,2.0,3.0的区别和优化

中频面试题:※※※※

#我的实习求职记录##我的求职思考#
八股文整理 文章被收录于专栏

研二狗的八股文整理

全部评论

相关推荐

流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
评论
1
13
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务