文章目录 1.http1.1 定义1.2 工作流程1.3 HTTP请求1.4 HTTP响应 2.https1.1 定义1.2 工作流程 3.区别
URI是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。
URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。
1.http 1.1 定义
HTTP–Hyper Text Transfer Protocol,是基于 TCP/IP 的应用层协议的超文本传输协议。HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。
特点:
1.1.1 无状态:事务处理没有记忆能力。当客户端一次HTTP请求完成以后,客户端再发送一次HTTP请求,HTTP并不知道当前客户端是一个”老用户“。Cookie可以解决。
1.2 工作流程
1.2.1 客户端发送一个HTTP请求,说明客户端想要访问的资源和请求的动作。
1.2.2 服务端收到请求之后,处理请求,并根据请求做出相应的动作访问服务器资源,最后通过发送HTTP响应把结果返回给客户端。
1.2.3 其中一个请求的开始到一个响应的结束称为事务,当一个事物结束后还会在服务端添加一条日志条目。
http分为请求报文和响应报文
1.3 HTTP请求
HTTP请求报文由请求行、请求头、请求正文三部分组成
状态行:包括请求方法Method、资源路径URL、协议版本Version;
请求头:包括一些访问的域名、用户代理、Cookie等信息;
请求正文:就是HTTP请求的数据。
补充:
根据HTTP标准,HTTP请求可以使用多种请求方法Method。
HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
现在大多数协议版本为http/1.1
1.3.1 GET(获取) 访问服务器的资源。请求指定的页面信息,并返回实体主体。 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器。
1.3.2 HEAD 获取服务器文档的首部。类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
1.3.3 POST(修改) 向服务器发送要修改的数据。向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。
1.3.4 PUT(上传) 向服务器上传资源
1.3.5 DELETE(删除) 删除服务器的资源
1.3.6 CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
1.3.7 OPTIONS 允许客户端查看服务器的性能。查询相应URI支持的HTTP方法。
1.3.8 TRACE 回显服务器收到的请求,主要用于测试或诊断。
1.4 HTTP响应
HTTP响应由三部分组成:状态行、响应头、响应正文;
状态行:包括协议版本Version、状态码Status Code、回应短语;
响应头:包括搭建服务器的软件,发送响应的时间,回应数据的格式等信息;
响应正文:就是响应的具体数据。
补充:
1xx:指示信息–表示请求已接收,继续处理
2xx:成功–表示请求已被成功接收、理解、接受
3xx:重定向–要完成请求必须进行更进一步的操作
4xx:客户端错误–请求有语法错误或请求无法实现
5xx:服务器端错误–服务器未能实现合法的请求
200—OK/请求已经正常处理完毕
301—/请求永久重定向
302—/请求临时重定向
304—/请求被重定向到客户端本地缓存
400—/客户端请求存在语法错误
401—/客户端请求没有经过授权
403—/客户端的请求被服务器拒绝,一般为客户端没有访问权限
404—/客户端请求的URL在服务端不存在
500—/服务端永久错误
503—/服务端发生临时错误
2.https 1.1 定义
是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
1.2 工作流程
1.2.1 客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。
1.2.2 Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
1.2.3 客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
1.2.4 客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
1.2.5 Web服务器利用自己的私钥解密出会话密钥。
1.2.6 Web服务器利用会话密钥加密与客户端之间的通信。
3.区别
3.1 HTTP 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头
3.2 HTTP 是不安全的,而 HTTPS 是安全的
3.3 HTTP 标准端口是80 ,而 HTTPS 的标准端口是443
3.4 在OSI 网络模型中,HTTP工作于应用层,而HTTPS 的安全传输机制工作在传输层
3.5 HTTP 无法加密,而HTTPS 对传输的数据进行加密
3.6 HTTP无需证书,而HTTPS 需要CA机构wosign的颁发的SSL证书
参考文章
https://www.cnblogs.com/ranyonsue/p/5984001.html
https://blog.51cto.com/13570193/2108347
https://www.cnblogs.com/Java3y/p/8444033.html
https://www.cnblogs.com/wsdpw-sl/p/6529830.html
https://blog.csdn.net/t8116189520/article/details/80037276
https://www.cnblogs.com/wqhwe/p/5407468.html