这是我参与「第四届青训营 」笔记创作活动的第1天
什么是http?
HTTP
是一个协议,不是开发语言,不是一个服务,也不是一种网络。只是一种协议、一种约定。
HTTP 是一个“「传输协议」”,所谓的“传输”(Transfer)其实很好理解,就是把一堆东西从 A 点搬到 B 点,或者从 B 点搬到 A 点,即“A<===>B”。
HTTP 协议是一个“「双向协议」”。
也就是说,有两个最基本的参与者 A 和 B,从 A 开始到 B 结束,数据在 A 和 B 之间双向而不是单向流动。通常我们把先发起传输动作的 A 叫做 「请求方」,把后接到传输的 B 叫做 「应答方」或者「响应方」。
双方约定使用 HTTP 协议来通信,浏览器把一些数据发送给服务器,服务器再把数据返回给浏览器。
HTTP 是一个基于 TCP/IP 通信协议来传递数据(HTML 文件、图片文件、查询结果等)。
HTTPS 协议是 HyperText Transfer Protocol Secure(超文本传输安全协议)的缩写,是一种通过计算机网络进行安全通信的传输协议。
HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包,HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换资料的隐私与完整性。
HTTP 的 URL 是由 http:// 起始与默认使用端口 80,而 HTTPS 的 URL 则是由 https:// 起始与默认使用端口443。
HTTP工作原理
HTTP 协议工作于客户端-服务端架构上。
浏览器作为 HTTP 客户端通过 URL 向 HTTP 服务端即 WEB 服务器发送所有请求。
Web 服务器有:Apache 服务器,IIS 服务器(Internet Information Services)等。
Web 服务器根据接收到的请求后,向客户端发送响应信息。
HTTP 默认端口号为 80,但是你也可以改为 8080 或者其他端口。
常见HTTP的状态码及应用场景
- 100-199:表示服务器成功接收部分请求,要求客户端继续提交其余请求才能完成整个处理过程。
- 200-299:表示服务器成功接收请求并已完成处理过程, 常用 200(OK 请求成功)。
- 300-399:为完成请求,客户需要进一步细化请求。 常用 302跳转;304、307 使用缓存资源。
- 400-499:客户端请求有错误, 常用 404(服务器无法找到被请求页面),403(服务器拒绝访问权限不够)。
- 500-599:服务器端出现错误, 常用 500(请求未完成,服务器遇到不可预知的情况)。