WWW和Web的区别

首先抛一个问题:
访问这两个网站

https://www.baidu.com/
https://baidu.com/
www.baidu.com/

发现都会重定向到https://www.baidu.com/
甚至改为http也会给你改为https
这是属于计算机网络应用层的内容

什么是Web

在计算机网络的应用层上有HTTP、FTP、DNS等服务,我们所说的Web就是基于HTTP和HTML上的服务,它是基于浏览器可视化访问的。所以Web也就是在浏览器上的用html编写的网页。

当我们访问https://www.baidu.com/时,就相当于去访问了一个Web服务器(提供网页内容),Web服务器就是一个安装在主机(也可以叫服务器或者电脑)上的一个软件,常见的Web服务器有tomcat,nginx等,当运行web服务器后,当我打开80端口就可以用http来访问,当打开443端口就可以用https来访问。所以某个网站开了443端口(https协议),就都会把80端口的转到443端口去,因为https比http更安全(当然还有其他的优势)
这里就解释了为什么https和http访问的都是一样网页,因为你用浏览器访问默认都是80端口,你输入网址,都不用加http或者https,因为浏览器自动帮你加上去了

什么是WWW

首先先得解释一下域名,简单来说就是ip地址的外号,ip不方便记,所以就用域名来记网址。
域名分为顶级域名,二级域名,三级,等等等

例如:www.qq.com;
mail.qq.com
game.qq.com

为什么有的网站前面有WWW而有的却没有呢,好像大部分网站都有WWW
这是因为
大公司的每一台服务器做一个服务、有自己的公网ip、把自己的公网Ip绑定到不同的二级域名下面,用户通过输入二级域名来确定使用哪一个服务器提供服务。但是现在服务器性能发展迅速、一台服务器就足以提供许多服务了、只需要使用端口号来区分使用的是什么服务,但是用户在网址前加www的习惯已经产生了,所以现在绑定域名时可以看的,网站会推荐你把一级域名和www的二级域名绑定到同一个ip上。
也就是:
qq.com和www.qq.com都是同一个ip地址的同一个web服务器,你加了www说明是web服务器,但其实不加,其实也是web服务器,都提供网页。你甚至可以看到有的网址是www1.xxx.com,但他依旧是一个网页
所以:
根本不必纠结www,www只是大家一个约定俗成,网页都有www,其实不加也没啥,现在看来www就是没有啥用

reference: https://www.zhihu.com/question/20064691
https://blog.youkuaiyun.com/qqqqq1993qqqqq/article/details/73437459
https://www.cnblogs.com/jiading/p/11825502.html

Web访问通常指在Web应用程序内部或同一站点内的资源访问,外部访问则是从外部网络对特定资源的访问,二者在地址使用、访问范围实现机制上存在差异。 在地址使用方面,一个校园的WEB服务器有内部访问外部访问之分。内部访问使用私有地址(Inside local address),外部访问使用分配的公有地址(Inside global address)。从外部网络来看,还有Outside local address与Outside global address的概念[^1]。 在访问范围上,Web访问一般局限于同一个WEB应用中的组件,请求转发就属于Web访问的一种方式,它只能将请求转发给同一个WEB应用中的组件。而外部访问不仅可以访问当前应用程序中的其他资源,还能访问同一个站点上的其他应用程序中的资源,甚至可以使用绝对URL重定向到其他站点的资源,重定向就可用于外部访问,能访问外部网站[^2]。 在实现机制上,Web访问中的请求转发发生在服务器端,由服务器(如servlet)控制,且只发生一次请求,不会改变访问的地址,性能相对较好。外部访问中的重定向发生在客户端,由客户(通常是浏览器)控制,会发生两次请求,地址栏会发生改变,性能相对较差[^2]。 以下是一个简单的Java Web重定向示例代码,用于外部访问: ```java package org.xingyun.demo; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet(name = "Servletdemo2", value = "/demo2") public class Servletdemo2 extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.sendRedirect("http://www.baidu.com"); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值