web基础知识
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:查找路径。比如:www.jianshu.com/trending/now,后面的trending/now就是path。
- query-string:查询字符串,比如:www.baidu.com/s?wd=python,后面的wd=python就是查询字符串。
- anchor:锚点,后台一般不用管,前端用来做页面定位的。比如:https://baike.baidu.com/item/%E5%88%98%E5%BE%B7%E5%8D%8E/114923?fr=aladdin#7
http协议常用的请求方法
在Http协议中,定义了八种请求方法。这里介绍两种常用的请求方法,分别是get和post
- get请求:一般情况下,只从服务器获取数据下来,并不会对服务器资源常数任何影响的时候使用get请求
- post请求:向服务器发送数据、传送文件等,会对服务器资源产生影响时使用post请求
网站一般会遵循这个使用原则,但不排除有一些网站不按套路出牌。
http响应状态码
状态码类别
状态码格式 | 类别 | 原因 |
---|---|---|
1XX | Informational(信息性状态码) | 接收到的请求正在处理中 |
2XX | Success(成功状态码) | 请求正常处理完毕 |
3XX | Redirection(重定向状态码) | 需要进行附加操作以完成请求 |
4XX | Client Error(客户端错误状态码) | 服务器无法处理请求 |
5XX | Server Error(服务器错误状态码) | 服务器处理请求出错 |
常见的状态码
- 200:请求正常,表示从客户端发来的请求在服务器端在正常处理了。
- 301:永久性重定向,该状态码表示请求的资源已经被分配了新的URI,以后应使用资源现在所指的
- 302:临时性重定向,该状态码表示请求的资源已经被分配了新的URI,希望用户(本次)能使用新的URI访问。和301类似,但是该状态码表示资源不是永久性被移动,只是暂时的。
- 400:请求错误,该状态码表示请求报文中存在语法错误,需要修改请求的内容后再次发送请求。或者是url错误
- 403:服务器拒绝访问,权限不够
- 404:请求失败,该状态码表示服务器上无法找到请求的资源。
- **500:**服务器内部错误,服务器在执行请求时发生了错误
web服务器和应用服务器以及web应用框架:
web服务器:
负责处理http请求,响应静态文件,常见的有Apache,Nginx以及微软的IIS.
应用服务器:
负责处理逻辑的服务器。比如php、python的代码,是不能直接通过nginx这种web服务器来处理的,只能通过应用服务器来处理,常见的应用服务器有uwsgi、tomcat等。
web应用框架:
一般使用某种语言,封装了常用的web功能的框架就是web应用框架,flask、Django以及Java中的SSH(Structs2+Spring3+Hibernate3)框架都是web应用框架。