3.3 HTTP报文样式
一个http请求可以分为请求地址和请求方法,请求头和请求体。如下图所示
这是已POST请求的例子,请求体中的⑤请求内容是一段JSON,目的是新建一个用户。
请求头是由一些key-value组成的集合,常见的元素有请求的长度、③请求内容格式和④期望的返回结果格式等。
③请求内容格式注明了当前请求体中的内容的格式,本例是JSON。
④期望的返回结果格式,告诉服务器,自己期望返回JSON格式的内容。服务器端如果支持多种格式的返回,例如支持JSON、XML等,这里可以根据客户端的期望返回对应的格式。所以这里只是期望,服务器如果不支持,还是有可能返回其他格式的响应数据。
响应结果也分为头和体两部分,大概结构如下图:
响应头部主要包括HTTP协议的版本、状态码、响应内容的格式等,响应体一般为响应的具体内容。
所以,后端服务器就是实现了接收HTTP请求并进行处理,然后返回相应结果的功能。而后端服务一般由HTTP服务器(IIS、Apache、Tomcat等,Tomcat比较特殊,既实现了HTTP服务器的功能,又实现了servlet容器的功能。)+处理程序组成。
3.4 HTTPS
HTTPS不是一种新协议。而是 HTTP 通信接口部分用 SSL和 TLS协议代替而已。
在上文中,HTTP 直接和 TCP 通信。当使用HTTPS时,中间加了一层SSL,需要先和 SSL通信,再由 SSL和 TCP 通信了。
大概的区别如下图:
具体HTTPS相关的知识比较多,就不在此赘述了。
4.参考资料:
《计算机网络》《图解HTTP》