1.URL
1)什么是URL
URL(统一资源定位符),用于定位服务的资源在哪,发送的Request去哪里找,然后服务器再做出相应的逻辑响应(Response)。
统一资源定位符的标准格式如下:
[协议类型]://[服务器地址]:[端口号]/[资源层级UNIX文件路径][文件名]?[查询]#[片段ID]
统一资源定位符的完整格式如下:
其中http是协议;127.0.0.1,是我的服务器地址; 8080是服务器上的端口号; /f是路径;其中/ 分隔目录和子目录。 ?kw=%BA%A3%D4%F4%CD%F5&fr=ala0&tpl=5是查询;? 分隔实际的URL和参数,这里很容易出错。虽然数据(除了数字)都会转换成以UTF8的URL编码,& 用于参数间的分隔符,= 等于(不是赋值),初次之外,还有+表示空格,#表示书签。
格式需要注意的地方: 1)一般使用Tomcat和nginx等服务器启动的项目,需要查看端口是否正确。 2)协议名http/https,域名或者ip地址是否有误? 3)/分割符,以 / 区别路径中的每一个目录名称。这样我们我们可以根据URL一层层的去查找我们项目的目录,分析出现404可能的原因是否为路径错误或者资源不存在。 4)&表示的参数,可以预估其值是否达到预期。
2.一次完整Http请求
总体流程如下: 域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) --> 浏览器对页面进行渲染呈现给用户。
3.常见的http状态码
1XX //信息提示
2XX //成功
3XX //重定向
4XX //客户端错误
5XX //服务端错误
## 常用状态码
- 200`OK`//成功,代表服务端已经收到并成功处理了请求,通常来说,携带了请求的数据/文件/响应头
- 301`Moved Permanently`//永久转移,当客户端触发的动作引起了资源URI的变化时发送此响应代码。另外,当客户端向一个资源的旧URI发送请求时,也发送此响应代码。
- 400`Bad Request`//错误请求,通用的客户端错误状态,就是当其他4xx状态码不适用时,使用的`备胎`错误码。通常也表示`服务器收到客户端通过PUT或者POST请求提交的表示,表示的格式正确,但服务器不懂它什么意思`的情况。
- 404`Not Found`//没有被找到,表示请求的资源不存在。
- 409`Conflict`//请求冲突。请求会导致服务器的资源处于冲突状态。例如试图修改某个字段,但于已存在的数据冲突了。
- 410`Gone`//已请求过,类似,但它提供的有用信息更多一些。服务器接受到请求,但该资源现在不存在了的情况。服务器不知道该资源的新URI,服务器要是知道该URI的话,它就发送响应代码301一样,都有暗示客户端不应该再请求该URI的意思,不同之处在于:410只是指出该资源不存在,但没有给出该资源的新URI。
- 500`Internal Server Error`//服务期方面的问题。实体主体中的文档(如果存在的话)是一个错误消息。该错误消息通常无济于事,因为客户端无法修复服务器方面的问题。