HTTP和HTTPS协议
- 网络协议:计算机之间为了实现网络通信而达成的一种“约定”或“规则”,有了这种“约定”,不同厂商的生产设备,以及不同不同操作系统组成的计算机之间,就可以实现通信。
- HTTP(Hyper Text Transfer Protocol)协议是超文本传输协议的缩写,是从web服务器传输超文本标记语言到本地浏览器的传输协议。
- HTTP原理:HTTP是一个基于TCP/IP通信协议来传递数据的协议,传输的数据类型为HTML文件、图片文件,查询结果等。
HTTP协议一般用于B/S架构。浏览器作为HTTP客户端通过URL向HTTP服务端发送所有请求。
请求正文构成
请求行:包括请求方法、URL、协议/版本
请求头:user-agent:告知服务器客户端的相关信息,比如浏览器的类型和版本
accept-encoding:告知服务器客户端支持的压缩格式
accept-language:告知服务器客户端支持的语言
content-type:告知服务器所发送的请求主题的数据类型,如果是post方法,则建议一定指定该信息头
请求正文:“un”:“ ”,“pw”:“”
长连接和短连接
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证书来雁阵该服务器的身份,并为浏览器和服务器之间的通信进行加密。