一、什么是http
“HTTP,又被称为超文本传输协议,是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。我们在浏览器的地址栏里输入的网站地址叫做URL,就像每家每户都有一个门牌地址相同,每个网页也都有一个Internet地址。当你在浏览器的地址中输入一个URL,URL就确定了要浏览的地址。浏览器”HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。基于TCP的应用层协议,它不关心数据传输的细节,HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,只有遵循统一的 HTTP 请求格式,服务器才能正确解析不同客户端发的请求,同样地,服务器遵循统一的响应格式,客户端才得以正确解析不同网站发过来的响应。
二、什么是HTTPS
HTTPS 的全称是Hyper Text Transfer Protocol over Secure Socket Layer ,是以安全为目标的HTTP通道,简单的讲是HTTP的安全版本,即HTTP下加入SSL层,简称HTTPS
其中HTTPS的安全基础为SSL,因此通过它的传输的内容都是经过SSL加密的,它的主要作用可以分为两种:
1、建立一个信息安全通道来保证数据传输的安全
2、确保网站的真实性,凡是使用了HTTPS 的网站,都可以通过点击浏览器地址栏的锁头标志来查看网站认证之后的真实信息。
三、HTTP请求内容
HTTP 请求由请求行、请求头、空行、请求体组成
常见的请求方法有 GET、POST、PUT、DELETE、HEAD 客户端要获取的资源路径(所谓的URL) 客户端使用的 HTTP 协议版本号(目前使用的是http1.1) 请求头:客户端向服务器发送请求的补充说明
host:请求地址 User-Agent: 客户端使用的操作系统和浏览器的名称和版本. Content-Length:发送给HTTP服务器数据的长度。 Content-Type:参数的数据类型 Cookie:将cookie的值发送给HTTP 服务器 Accept-Charset:自己接收的字符集 Accept-Language:浏览器自己接收的语言 Accept:浏览器接受的媒体类型 请求体:一般携带的请求参数
application/json:{"name":"value","name1":"value2”} application/x-www-form-urlencoded: name1=value1&name2=value2 multipart/from-data:表格形式 text/xml content-type:octets/stream
HTTP响应内容
HTTP 响应格式与请求的格式很相似,也是由响应行、响应头、空行、响应体组成。
响应状态码有 1XX、2XX、3XX、4XX、5XX、5XX。 1XX 提示信息 - 表示请求已被成功接收,继续处理
2XX 成功 - 表示请求已被成功接收,理解,接受
3XX 重定向 - 要完成请求必须进行更进一步的处理
4XX 客户端错误 - 请求有语法错误或请求无法实现
5XX 服务器端错误 - 服务器未能实现合法的请求响应头
响应头:响应头与请求头对应,是服务器对该响应的一些附加说明
响应体:它才是真正的响应数据,这些数据其实就是网页的 HTML 源代码