《HTTP图解》2——简单了解HTTP协议

 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 请求报文和响应报文的内 容以下。

相关文章
相关标签/搜索