HTTP精简教程二:简单的HTTP协议

46次阅读

共计 1289 个字符,预计需要花费 4 分钟才能阅读完成。

HTTP 协议
HTTP 协议和 TCP/IP 协议族内的其他众多协议相同,用于客户端和服务器之间的通信。请求访问资源的一端为客户端,响应资源的一端为服务器。请求必须从客户端发出,而服务器回复响应,因此建立通信是从客户端开始的。
请求报文
POST /index.htm HTTP/1.1Host: hackr.jpConnection: keep-aliveContent-Type: application/x-www-form-urlencodedContent-Length: 16 name=ueno&age=25
报文说明
方法
POST
URI
/index.htm
协议版本
HTTP/1.1
请求首部字段
Host: hackr.jpConnection: keep-aliveContent-Type: application/x-www-form-urlencodedContent-Length: 16
内容实体
name=ueno&age=25
响应报文
HTTP/1.1 200 OKDate: Tue, 10 Jul 2012 06:50:15 GMTContent-Length: 363Content-Type: text/html <html>…
报文说明
协议版本
HTTP/1.1 200 OK
状态码
200
状态码的原因短语
OK
响应首部字段
Date: Tue, 10 Jul 2012 06:50:15 GMTContent-Length: 363Content-Type: text/html
主体
<html>…
HTTP 是不保存状态的协议
为了更快的处理大量的事物,确保协议的伸缩性,因此把 HTTP 协议设为无状态协议;为此,引入 Cookie 技术保存用户的登陆状态。
HTTP 请求方法
GET:获取资源
GET 方法用来请求访问已被 URI 识别的资源。
POST:传输实体主体
虽然 GET 方法和 POST 方法都可以用来传输实体,但一般不用 GET 方法。
GET 与 POST 的区别

方法
GET
POST

本质
索取数据
提交数据

安全性

执行效率

机制
将参数拼接在 url 上,明文传输
将表单内各个字段与其内容放置在 HTML HEADER 内一起传送到 action 属性所指的 URL 地址

大小
取决于浏览器和系统
理论上没有限制,取决于浏览器和系统

地址栏输入
支持
不支持

浏览器历史记录
保留参数
参数不保留

编码方式
url 编码
多种编码方式

PUT:传输文件
PUT 方法用来传输文件,类似 FTP 协议文件上传,请求的报文中包含文件内容,然后保存在 URI 指定位置。但是 HTTP/1.1 的 PUT 方法不带验证机制,任何人都能上传文件,存在安全性问题,慎用。
HEAD:获取报文首部
类似 GET 方法,区别在于只返回报文首部,不返回报文主体。
DELETE:删除文件
与 PUT 方法相反,用来删除文件,DELETE 方法按请求 URI 删除指定资源。但是 HTTP/1.1 的 DELETE 方法同样不带验证机制,存在安全性问题,慎用。区别
OPTIONS:询问支持方法
返回服务器支持的方法

TRACE:追踪路径
CONNECT:要求用隧道协议连接代理

持久连接
旨在建立 1 次 TCP 连接后进行多次请求和响应的交互,在 HTTP/1.1 中默认都是持久连接

正文完
 0