目录
一、简述浏览器从输入URL到展现页面的全过程
1、输入地址;
2、浏览器查找域名的IP地址;
3、浏览器向web服务器发送一个请求;
4、服务器的永久重定向响应;
5、服务器处理请求;
6、服务器返回一个HTTP响应;
7、浏览器显示HTML;
8、浏览器发送请求获取嵌入在HTML中的资源(如图片、音频、视频、CSS、JS等)。
二、简述HTTP和HTTPS的区别
1、HTTP
HTTP是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从www服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
2、HTTPS
HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
3、区别
(1)HTTPS协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。
(2)HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的SSL加密传输协议。
(3)HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
(4)HTTP的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。
三、简述HTTP中的referer头的作用
1、HTTP referer是header的一部分。
当浏览器向web服务器发送请求的时候,一般会带上referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可获得一些信息用于处理。
2、防盗链
假如在www.google.com里有一个 'www.baidu.com' 的链接,那么点击进入这个'www.baidu.com',它的header信息里就有:Referer=http://www.google.com。只允许我本身的网站访问本身的图片服务器,假如域是www.google.com,那么图片服务器每次取到Referer来判断一下域名是不是www.google.com,如果是就继续访问,如果不是就拦截。将这个HTTP请求发给服务器后,如果服务器要求必须是某个地址或者某几个地址才能访问,而你发送的Referer不符合它的要求,就会拦截或者跳转到它要求的地址,然后再通过这个地址去访问。
3、防止恶意请求
比如静态请求是*.html结尾的,动态请求是*.shtml,那么由此可以这么用,所有的*.shtml请求,必须Referer为我自己的网站。
4、空Referer
定义:Referer头部的内容为空,或者一个HTTP请求中根本不包含Referer头部(一个请求并不是由链接触发产生的)。
直接在浏览器的地址栏中输入一个资源的URL地址,那么这种请求是不会包含Referer字段的,因为这是一个“凭空产生”的HTTP请求,并不是从一个地方链接过去的。
那么在防盗链设置中,允许空Referer和不允许空Referer有什么区别呢?允许Referer为空,意味着你允许比如浏览器直接访问。
5、防御CSRF
比对HTTP请求的来源地址,如果Referer中的地址是安全可信任的地址,那么就放行。
四、简述HTTP的方法有哪些
1、GET
用于请求访问已经被URI(统一资源标识)识别的资源,可以通过URL传参给服务器。
2、POST
用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。
3、PUT
传输文件,报文主体中包含文件内容,保存到对应URI位置。
4、HEAD
获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。
5、DELETE
删除文件,与PUT方法相反,删除对应URI位置的文件。
6、OPTIONS
查询相应URI支持的HTTP方法。
五、简述HTTP 1.0 1.1 2.0的主要区别
1、HTTP 1.0
(1)默认不支持长连接,需要设置keep-alive参数指定;
(2)强缓存expired、协商缓存last-modified\if-modified-since有一定的缺陷。
2、HTTP 1.1
(1)默认长连接(keep-alive),HTTP请求可以复用TCP连接,但是同一时间只能对应一个HTTP请求(HTTP请求在一个TCP中是串行的);
(2)增加了强缓存cache-control、协商缓存etag\if-none-match是对HTTP 1.0缓存的优化。
3、HTTP 2.0
(1)多路复用,一个TCP中多个HTTP请求是并行的(雪碧图、多域名散列等优化手段HTTP 2.0将变得多余);
(2)二进制格式编码传输;
(3)使用HPACK算法做header压缩;
(4)服务端推送。
标签:知识点,HTTP,请求,计算机网络,Referer,HTTPS,服务器,浏览器 From: https://blog.csdn.net/L_peanut/article/details/139830623