浅入理解 GET 和 POST 的 HTTP 请求方法

首先什么是 HTTP?
超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信。
HTTP 的工作方式是客户机与服务器之间的请求-应答协议。
WEB 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。
举例:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。

Get – 从指定的资源请求数据。用于获取信息,注意,他只是获取、查询数据,也就是说它不会修改服务器上的数据,从这点来讲,它是安全的。
Post – 向指定的资源提交要被处理的数据。它是可以向服务器发送修改请求,从而修改服务器数据,比如,我们要在论坛上回贴、在博客上评论,这就要用到 Post 请求方式,当然它也是可以仅仅获取数据。
另外:Delete – 删除数据。可以通过 Get/Post 来实现;Put – 增加、放置数据,可以通过 Get/Post 来实现。

HTTP vs. HTTPS

1. HTTP 的 URL 以 http:// 开头,HTTPS 的 URL 以 https:// 开头
2. HTTP 不安全协议,HTTPS 属于 SSL 安全协议
3. HTTP 标准端口是 80 ,HTTPS 标准端口是 443
4. OSI 网络模型中,HTTP 工作于应用层,HTTPS 工作在传输层
5. HTTP 无法加密,HTTPS 对传输的数据进行加密
6. HTTP 无需证书,HTTPS 需要 CA 机构 颁发 SSL 证书

HTTPS(HyperText Transfer Protocol over Secure Socket Layer)

HTTPS(HyperText Transfer Protocol over Secure Socket Layer,超文本传输协议加密版),是以安全为目标的 HTTP 通道,简单讲是 HTTP 的安全版。即 HTTP 下加入 SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 它是一个 URI scheme(抽象标识符体系),句法类同 http: 体系。用于安全的 HTTP 数据传输。https:URL 表明它使用了 HTTP,但 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP 与 TCP 之间)。
HTTPS 最初研发由网景公司(Netscape)进行,并内置于其浏览器 Netscape Navigator 中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。

简单理解 HTTP(HyperText Transfer Protocol,超文本传输协议)

HTTP 是一个 Web 文本信息访问传输协议,利用 TCP 协议使 Web 客户端与 Web 服务端在应用层进行通信。
客户端通过 HTTP 协议传输发起一个到服务器上指定端口(默认端口为 80)的请求,HTTP 服务器则在那个端口监听客户端发送过来的请求,一旦收到请求,服务器向客户端发回一个状态行,比如”HTTP/1.1 200 OK”,和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它信息。
HTTP 使用 TCP 而不是 UDP 的原因在于(打开)一个网页必须传送很多数据,而 TCP 协议提供传输控制,按顺序组织数据,和错误纠正。
通过 HTTP 或者 HTTPS 协议请求的资源由统一资源标示符(Uniform Resource Identifiers)(或者,更准确一些,URLs)来标识。

通俗说下 URL(Uniform Resource Locator,统一资源定位符)

URL(Uniform Resource Locator,统一资源定位符)是对可从互联网得到的资源位置和访问方法的一种简洁表示,是互联网上标准资源的地址。
互联网上的每个文件都有一个唯一的 URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它,标准的统一资源标志符语法如下:
协议://用户名: 密码 @子域名. 域名. 顶级域名: 端口号/目录/文件名. 文件后缀? 参数=值 #标志

URL:http://www.hexingxing.cn:80/ms-dos-cmd/index.php

http://:HTTP(HyperText Transfer Protocol,超文本传输协议)是一种常见的互联网协议,所有的 WWW 文件都必须遵守这个标准进行通信
www:可以理解为 Web 服务器,分为 Web 客户端和 Web 服务器程序,可以让 Web 客户端(浏览器)访问浏览 Web 服务器上的页面,现在通常可以不带 www 访问 Web 服务器上的页面内容
.hexingxing.cn:页面内容所在服务器绑定的域名
:80:表示端口,从 80 端口访问页面内容
/ms-dos-cmd:页面内容所在服务器的目录
/index.php:文件名,页面内容存放在服务器的最终位置

HTTP 长连接 Connection: keep-alive

HTTP 长连接定义:
Client 方与 Server 方先建立连接,连接建立后不断开,然后再进行报文发送和接收。这种方式常用于 P2P 点对点的通信。

长连接的操作步骤是:
建立连接 —— 数据传输…(保持连接)… 数据传输 —— 关闭连接

HTTP1.1 和 HTTP1.0 相比较而言,最大的区别就是 HTTP1.1 增加了持久连接支持 Connection: keep-alive。
长连接就是指在基于 tcp 的通讯中,一直保持连接,不管当前是否发送或者接收数据。
而短连接就是只有在有数据传输的时候才进行连接,客户-服务器通信/传输数据完毕就关闭连接。