一、url详解
1. URL
URL是 Uniform Resource Locator 的简写,统一资源定位符。一个 URL 由一下几部分组成:
scheme://host:port/path/?query-string=xxx#anchor
- scheme:代表的是访问的协议,一般为http 或者 https 以及 ftp 等。
- host:主机名,域名,比如:www.baidu.com
- port:端口号。当你访问一个网站的时候,浏览器默认使用80端口。
- path:查找路径。比如:http://docs.jinkan.org/docs/flask/,后面的docs/flask/就是path. –query-string:查询字符串,比如:https://www.google.com.hk/search?newwindow=1,后面的newwindow=1就是查询字符串。
anchor:锚点,后台一般不用管,前端用来做页面定位的。
注意:Url 中的所有字符都是ASCii字符集,如果出现非ASCII字符,比如中文,浏览器就会进行编码在进行传输。
2.端口
2.1 如果使用的是http 协议,那么浏览器就会使用80端口去请求这个服务器的资源,例如:http://www.ziroom.com
2.2如果使用的是https协议,那么浏览器就会使用443端口去请求这个服务器的资源,例如:https://www.baidu.com/
3. 锚点:页内跳转
a) 没有#n
https://baike.baidu.com/item/%E5%9F%83%E9%9A%86%C2%B7%E9%A9%AC%E6%96%AF%E5%85%8B/3776526?fromtitle=%E9%A9%AC%E6%96%AF%E5%85%8B&fromid=17200149&fr=aladdin
b) 有#1
https://baike.baidu.com/item/%E5%9F%83%E9%9A%86%C2%B7%E9%A9%AC%E6%96%AF%E5%85%8B/3776526?fromtitle=%E9%A9%AC%E6%96%AF%E5%85%8B&fromid=17200149&fr=aladdin#1
c) 有#7
https://baike.baidu.com/item/%E5%9F%83%E9%9A%86%C2%B7%E9%A9%AC%E6%96%AF%E5%85%8B/3776526?fromtitle=%E9%A9%AC%E6%96%AF%E5%85%8B&fromid=17200149&fr=aladdin#7
二、web 服务器和应用服务器以及web应用框架:
- web服务器:负责处理http/https 请求,响应静态文件如:图片,css,js,html等,常见的有Apache, Nginx,以及微软的IIS。
- 应用服务器:负责处理逻辑的服务器。比如php、Python的代码,是不能直接通过nginx这种web服务器来处理的,只能通过应用服务器来处理,常见的应用服务器有uwsgi、tomcat等。
- web应用框架:一般使用某种语言,封装了常用的web功能的框架就是web应用框架,flask、Django以及Java中的SSH(Structs2 + Spring + Hibernate3) 框架都是web应用框架。
- 处理逻辑图: