后台开发核心技术与应用实践读书笔记(十二)
第12章 HTTP协议
12.1 HTTP协议工作流程
-
HTTP协议与HTTPS协议的区别
- http默认端口号是80,https为443
- http是基于传输层的TCP协议,https是基于TLS与SSL上面的
-
一次http操作成为一个事务,其工作过程为:
- 首先建立客户机与服务器的连接
- 建立连接后,客户机发送一个请求给服务器
- 服务器接收到请求后,给予相应的响应信息
- 客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接
-
http协议永远是客户端发送请求,服务端回送响应
12.2 HTTP协议结构
-
请求报文与回应报文格式
请求报文
回应报文
-
HTTP请求方法
HTTP
定义了多种请求方法,来满足各种需求。HTTP/1.0
定义了三种请求方法:GET
、POST
和HEAD
,到了HTTP/1.1
,新增了五种请求方法:OPTIONS
、PUT
、DELETE
、TRACE
和CONNECT
。各个请求方法的具体功能如下:GET 请求指定的页面信息,并返回实体主体。
HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
PUT 从客户端向服务器传送的数据取代指定的文档的内容。
DELETE 请求服务器删除指定的页面。
CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
OPTIONS 允许客户端查看服务器的性能。
TRACE 回显服务器收到的请求,主要用于测试或诊断。
PATCH :用来将局部修改应用于某 资源
12.3 HTTPS
- HTTP 协议可以轻松抓包并获得其中的内容,是 个不安全的协议,而 HTTPS
( Hypertext Transfer Protocol over Secure Socket Layer )则是以安全为目标的 HTTP 通道 - HTTP与HTTPS的区别
- HTTPS 协议需要到 CA 申请证书, 一般免费证书很少,需要交费
- HTTP 是超文本传输协议,信息是明文传输, HTTPS 则是具有安全的 ssl 加密传输协议
- HTTP和 HTTPS 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443
- HTTP 的连接很简单, 是无状态的; HTTPS 协议是由 SSL+HTT 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全
- 目前, HTTPS 的应用比 HTTP 的少, 是因为 HTTPS 较耗性能,对于安全性没那么高要求的应用来说,用 HTTP 就已经够了
12.4 CGI
CGI 是一个 Web 服务器提供信息服务的标准接口 通过 CGI接口, Web 服务器就能够获取客户端提交的信息,转交给服务器端的 CGI 程序进行处理,最后返回结果给客户端
组成CGI通信系统的两个部分:
- HTML页面,就是在用户端浏览器上显示的页面
- 运行在服务器上的CGI程序