浅谈HTTP和HTTPS

时间:2023-01-09 20:13:03

HTTP和HTTPS协议

  1. 网络协议:计算机之间为了实现网络通信而达成的一种“约定”或“规则”,有了这种“约定”,不同厂商的生产设备,以及不同不同操作系统组成的计算机之间,就可以实现通信。
  2. HTTP(Hyper Text Transfer Protocol)协议是超文本传输协议的缩写,是从web服务器传输超文本标记语言到本地浏览器的传输协议。
  3. HTTP原理:HTTP是一个基于TCP/IP通信协议来传递数据的协议,传输的数据类型为HTML文件、图片文件,查询结果等。

HTTP协议一般用于B/S架构。浏览器作为HTTP客户端通过URL向HTTP服务端发送所有请求。

请求正文构成

浅谈HTTP和HTTPS

请求行:包括请求方法、URL、协议/版本

请求头:user-agent:告知服务器客户端的相关信息,比如浏览器的类型和版本

accept-encoding:告知服务器客户端支持的压缩格式

accept-language:告知服务器客户端支持的语言

content-type:告知服务器所发送的请求主题的数据类型,如果是post方法,则建议一定指定该信息头

请求正文:“un”:“  ”,“pw”:“”

浅谈HTTP和HTTPS

长连接和短连接

HHT/1.1 之前默认的是短连接,以后的是长连接,一次TCP连接可以进行多次http请求,使用connection字段控制,默认开启长连接Connection:keep-Alive.

常见的请求方法

GET:获取资源,请求指定的页面信息,并返回实体主体

POST:向服务器创建资源,提交数据进行处理请求(例如表单或上传文件)。数据被包含在请求中。POST请求可能会导致心得资源的建立,或者对已有资源的修改。

HEAD:类似get,返回的响应中没有具体的内容,之获取报头。

PUT:从客户端向服务器传送的数据取代指定的文档内容。

DELLET:请求服务器删除指定的资源。

POST和GET的区别

(1)都包含请求头请求行,post多了请求body

(2)get多用来查询,请求参数放在url中,用”?“表示,不会对服务器上的内容产生作用,post用来提交,如把账号密码放在body中

(3)GET是直接添加到URL后面,直接在URL中看到内容,而POST是放在请求内部的,用户无法直接看到

(4)GET提交的数据长度有限,而POST没有

(5)GET多次请求,服务端状态不改变,而POST每次都会改变

HTTP和HTTPS的区别

HTTP存在安全性问题:①请求信息铭文传输,容易被窃听截取;②数据的完整性未校验,容易被篡改;③没有校验对方身份,存在冒充危险

HTTPS:一般理解为HTTP+SSL/TSL,通过SSL证书来雁阵该服务器的身份,并为浏览器和服务器之间的通信进行加密。

详见https://www.cnblogs.com/jesse131/p/9080925.html