HTTP协议和TCP/IP协议族内的其余众多协议相同,用于客户端和服务器之间的通讯。
请求访问资源的一端为客户端,响应资源的一端为服务器。请求必须从客户端发出,而服务器回复响应,所以创建通讯是从客户端开始的。html
POST /index.htm HTTP/1.1
Host: hackr.jp
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 16
name=ueno&age=25
报文说明浏览器
POST
/index.htm
HTTP/1.1
Host: hackr.jp
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 16
name=ueno&age=25
HTTP/1.1 200 OK
Date: Tue, 10 Jul 2012 06:50:15 GMT
Content-Length: 363
Content-Type: text/html
<html>
...
报文说明安全
HTTP/1.1 200 OK
200
OK
Date: Tue, 10 Jul 2012 06:50:15 GMT
Content-Length: 363
Content-Type: text/html
<html>
...
为了更快的处理大量的事物,确保协议的伸缩性,所以把HTTP协议设为无状态协议;为此,引入Cookie技术保存用户的登录状态。服务器
GET方法用来请求访问已被URI识别的资源。app
虽然GET方法和POST方法均可以用来传输实体,但通常不用GET方法。编码
GET与POST的区别url
方法 | GET | POST |
---|---|---|
本质 | 索取数据 | 提交数据 |
安全性 | 低 | 高 |
执行效率 | 高 | 低 |
机制 | 将参数拼接在url上,明文传输 | 将表单内各个字段与其内容放置在HTML HEADER内一块儿传送到action属性所指的URL地址 |
大小 | 取决于浏览器和系统 | 理论上没有限制,取决于浏览器和系统 |
地址栏输入 | 支持 | 不支持 |
浏览器历史记录 | 保留参数 | 参数不保留 |
编码方式 | url编码 | 多种编码方式 |
PUT方法用来传输文件,相似FTP协议文件上传,请求的报文中包含文件内容,而后保存在URI指定位置。
可是HTTP/1.1的PUT方法不带验证机制,任何人都能上传文件,存在安全性问题,慎用。代理
相似GET方法,区别在于只返回报文首部,不返回报文主体。code
与PUT方法相反,用来删除文件,DELETE方法按请求URI删除指定资源。
可是HTTP/1.1的DELETE方法一样不带验证机制,存在安全性问题,慎用。
区别orm
返回服务器支持的方法
旨在创建1次TCP链接后进行屡次请求和响应的交互,在HTTP/1.1中默认都是持久链接