域名
域名就是一个唯一的名字,可以用来定位你的网站。如:
www.starbuzzcoffee.com
www
:这部分是域中一个特定服务器的名字。starbuzzcoffee.com
:这一部分是域名。
域名和网站名的区别
域名和网站名完全是两码事,www.starbuzzcoffee.com
这就是一个网站名,不过如果只有starbuzzcoffee.com
部分,就是域名。还可以创建使用相同域名的其他网站,比如corporate.starbuzzcoffee.com
或employee.starbuzzcoffee.com
,所以域名可以用于多个网站。
FTP
将文件传送到Web服务器的方法有很多,这里只介绍一种叫做FTP的文件传输方法,FTP表示文件传输协议(File Transfer Protocol)。
接下来,我们来概要介绍一下FTP是如何工作的:
首先,使用FTP连接到你的服务器。当然了,要完成连接,需要一个用户名和口令。
ftp www.starbuzzcoffee.com
使用
cd
命令把当前目录切换至文件传输的目标目录。cd starbuzz
使用
put
命令将文件上传到服务器。put index.html
还可以用
mkdir
命令在服务器上创建一个新目录。mkdir images
还可以用
get
命令获取文件get index.html
下面把这些步骤综合起来,这里给出一个从命令行应用使用FTP的例子:
FTP常用命令
dir
:得到当前目录的文件列表。cd
:切换到另一个目录。”..”也表示上一层目录。pwd
:显示当前目录。put <filename>
:将指定的文件传送到服务器上。get <filename>
:从服务器获取指定的文件,传回到你的计算机。
SFTP
SFTP就是安全文件传输协议(Secure File Transfer Protocol),这是FTP的一个更安全的版本,不过工作基本上是一样的。
HTTP和URL
URL
我们首先应该知道在浏览器中输入的Web地址称为URL,或统一资源定位符(Uniform Resource Locators)。
下面我们来剖析一个URL:
http://www.starbuzzcoffee.com/index.html
http
:URL的第一部分指出用来获取资源的协议。www.starbuzzcoffee.com
:第二部分是网站名。/index.html
:第三部分是从根文件夹到资源的绝对路径,/
表示根文件夹。
要定位Web上的某个资源,只要你知道维护这个资源的服务器,以及资源的绝对路径,就可以创建一个URL,让Web浏览器使用某个协议为你获取这个资源,通常会使用HTTP。
统一资源定位符(Uniform Resource Locators, URL)是一个全局地址,可以用来定位Web上的任意资源,包括HTML页面、音频、视频和很多其他形式的Web内容。除了指定资源的位置,URL还可以指定用来获取资源的协议。
问:我们学过可以在
<a>
元素的href属性中放入相对路径,既然它们不是绝对路径,服务器是怎么找到的呢?
答:单击一个相对链接时,在后台浏览器会根据这个相对路径和所单击页面的路径创建一个绝对路径。所以,所有Web服务器看到的都是绝对路径,这要归功于浏览器。
HTTP
HTTP也称为超文本传输协议(HyperText Transfer Protocol),换句话说,这是在Web上传输超文本文档的公认的一种方法(协议)。尽管”超文本文档”通常只是指HTML页面,但这个协议实际上还可以用来传输图像或Web页面可能需要的任何其他文件。
HTTP是一个简单的请求和响应协议。
更简单的URL
最后,还有一种情况我们还没有谈到,就是如果浏览器向Web服务器请求一个目录而不是文件时会发生什么。例如,浏览器可能会请求:
http://www.starbuzzcoffee.com/images/
或
http://www.starbuzzcoffee.com/
Web服务器接收到一个类似这样的请求时,它会尝试查找这个目录中的一个默认文件。通常默认文件名为”index.html”或”default.htm”,如果服务器找到这样一个文件,就会把它返回给浏览器显示。
所以,要从根目录(或任何其他目录)默认地返回一个文件,只需要把这个文件命名为”index.html”或”default.htm”。
不过,还要可能我们请求的是
http://www.starbuzzcoffee.com
看起来稍有不同,但末尾没有/
。如果服务器接收到这样一个末尾没有/
的请求,而且这个目录确实存在,服务器就会帮你加上末尾的斜线。所以如果服务器接收到以下请求:
http://www.starbuzzcoffee.com
它会把这个请求改为:
http://www.starbuzzcoffee.com/
这会让服务器查找一个默认文件,最后会返回这个文件,就好像你之前输入了以下地址:
http://www.starbuzzcoffee.com/index.html
问:所以我告诉别人我的URL时,加上“index.html”部分是不是更好些?
答:不。最好不要加。如果将来你改变了Web服务器,而它使用另一个默认文件名,比如“default.htm”,则会怎么样呢?或者如果你开始写脚本,则使用“index.php”作为默认文件名,又该如何?这样一来,你原来给的URL就不再有效了。
小结:链接页面有两种方式:相对路径和URL。
- 相对路径只用来链接同一网站内的页面。
- URL通常用来链接其他网站上的页面。
其他协议
除了HTTP协议之外,之前我们总会看到file:///
。这又是什么东东呢?——浏览器从你的计算机本地读取文件时会使用file协议。例如,文件URLfile:///F:/itheima_JavaWeb_workspace/Chapter1/starbuzz/index.html
会告诉浏览器文件”index.html”位于“F:/itheima_JavaWeb_workspace/Chapter1/starbuzz/”路径下。如果你想输入一个文件URL,则要注意重要的一点是与HTTP不同,文件URL有3个斜线而不是2个。可以这样来记:如果删去一个HTTP URL中的网站名,那么也会有3个斜线。
端口号
相信很多人都见过这样的URL,http://www.mydomain.com:8000/index.html
,我们不禁就要问为什么这里还有一个“:8000”?
“:8000”是一个可以放在HTTP URL中的可选的“端口”。可以这样来考虑端口:网站名就像一个地址,端口则像是这个地址的邮箱号。通常Web上的所有东西都会传送到一个默认端口(80),不过有时Web服务器会配置为在另外一个不同的端口接收请求(如8000)。这种情况经常在测试服务器上出现。正常的Web服务器几乎都在端口80接收请求。如果你没有指定端口,则默认为80。