什么是URL
url是Uniform Resource Locator的简称(统一资源定位符),互联网标准资源的地址,通过一个URL只能找到一个资源,URL就是资源的地址、位置,互联网上的每个资源都有一个唯一的URL。
url的基本格式
协议://主机地址/路径
http://www.1000phone.com/img/logo.png
协议:不同的协议代表着不同的资源查找方式,资源传输方式
主机地址:存放资源的主机(服务器)的IP(域名)地址,IP地址和域名一一对应。
路径:资源在主机(服务器)中的具体位置
URL中常见的协议
http协议:
a.超文本传输协议,访问的是远程网络资源,格式是http://
b.http:// 协议是网络开发中最常用到的协议
file
a.访问的是本地计算机上的资源,不用加主机地址
格式 file://
mailto:
访问的是电子邮件地址,格式是mailto:
FTP
访问的是资源共享主机的资源,格式是ftp://
HTTP协议的作用和特点
http是最常用的协议
是超文本传输协议,作用是规定客户端和服务器之间的数据传输格式,让客户端和服务器之间能有效的数据沟通
特点:
简单快速,因为http协议简单,所以http服务器的规模很小,因而通信速度很快,
灵活:
http允许传输各种各样的数据
http 0.9和1.0使用非持续连接
限制每次连接只处理一个请求,服务器对客户端的请求做出响应后马上断开连接,这种方式可以节省传输的时间
HTTP基本通信过程
请求: 客户端向服务器索要数据
响应:服务器向客户端返回数据
http协议规定一个完整的请求包含以下数据
请求头:包含了对客户端的环境描述、客户端请求信息等
GET /minion.png HTTP/1.1 // 包含了请求方法、请求资源路径、HTTP协议版本
Host: 120.25.226.186:32812 // 客户端想访问的服务器主机地址
User-Agent: Mozilla/5.0 // 客户端的类型,客户端的软件环境
Accept: text/html, / // 客户端所能接收的数据类型
Accept-Language: zh-cn // 客户端的语言环境
Accept-Encoding: gzip // 客户端支持的数据压缩格式
请求体:客户端发给服务器的请求内容
响应
客户端向服务器发送请求,服务器应当做出响应,即返回数据给客户端
HTTP协议规定:1个完整的HTTP响应中包含以下内容
响应头:包含了对服务器的描述、对返回数据的描述
HTTP/1.1 200 OK // 包含了HTTP协议版本、状态码、状态英文名称
Server: Apache-Coyote/1.1 // 服务器的类型
Content-Type: image/jpeg // 返回数据的类型
Content-Length: 56811 // 返回数据的长度
Date: Mon, 23 Jun 2014 12:54:52 GMT // 响应的时间
响应体:服务器返回给客户端的具体数据,比如文件数据
状态和状态码
状态码 | 英文名称 | 中文描述 |
---|---|---|
200 | OK | 请求成功 |
400 | BadRequest | 客户端请求的语法错误,服务器无法解析 |
404 | Notfound | 服务器无法根据客户端的请求寻找资源 |
500 | internal server error | 服务器内部错误,无法完成请求 |
get和post的选择
选择GET和POST的建议
如果要传递大量数据,比如文件上传,只能用POST请求
GET的安全性比POST要差些,如果包含机密\敏感信息,建议用POST
如果仅仅是索取数据(数据查询),建议使用GET
如果是增加、修改、删除数据,建议使用POST