1. URI>URL安全
URI:“A Uniform Resource Identifier (URI) 是一个紧凑的字符串用来标示抽象或物理资源。”服务器
URL:“Uniform Resource Locator” (URL) 是URI的子集, 标识资源的地址spa
URN:URN做用就好像一我的的名字,URL就像一我的的地址。换句话说:“URN肯定了东西的身份,URL提供了找到它的方式。”3d
绝对URI格式:代理
2. HTTP1.1协议结构orm
(1)请求报文:请求方法、请求URI、协议版本、可选的请求首部字段和内容实体构成的。blog
(2)响应报文:协议版本、状态码、用于解释状态码的短语、可选的响应首部字段以及实体主体构成。内存
(3)HTTP是不保存状态的协议ci
HTTP1.1虽然是无状态协议,但为了实现保持状态,因而引入Cookie技术,有了Cookie就能够管理状态了资源
(4)请求URI定位资源
(5)告知服务器意图
GET:获取资源
GET用来请求访问一被URI识别的资源,若是请求的资源是文本,那就保持原样返回,若是是CGI那样的程序,则返回执行后的结果。
POST:传输实体主体
虽然用GET也能够传输实体,但通常用POST
PUT:传输文件
HTTP1.1的PUT方法自身不带验证机制,任何人均可以上传文件,存在安全问题。因此通常不用。
HEAD:获取报文首部
HEAD方法和GET方法同样,只是不反悔报文主体部分。用于确认URI的有效性及资源更新的日期时间等。
DELETE:删除文件
HTTP1.1的DELETE方法自身不带验证机制,任何人均可以上传文件,存在安全问题。因此通常不用。除非配合Wev应用程序的验证机制或者遵照REST标准时仍是有可能开放使用的。
OPTIONS:询问支持的方法
TRACE:追踪路径
不经常使用,加上它容易引起XST(Cross-Site-Tracing,跨站追踪)攻击
CONNECT:要求用隧道协议链接代理
(6)使用方法下达命令
(7)持久链接节省通讯量
只要任意一端没有明确提出断开链接,则保持TCP链接状态:HTTP keep-alive
好处:在于减小了TCP链接的重复创建和断开所形成的额外开销以及更快地展现页面。在HTTP1.1中,全部的链接默认都是持久链接。
在于还有管线化技术让并行成为可能,而不须要一个接一个地等待响应。
(8)使用Cookie的状态管理
不保存状态的好处:减小服务器的CPU及内存资源的消耗
Cookie原理以下图:
上图展现了发生 Cookie 交互的情景,HTTP 请求报文和响应报文的内 容以下。