一、什么是http
超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。
- 文本:html,字符串
- 超文本:图片、音乐、影视、定位、地图…
- 端口80
- https:安全的
二、俩个时代
-
http1.0
HTTP/1.0:客户端可以与服务器连接后,只获得一个web资源,断开连接。
-
http2.0
HTTP/1.1: 客户端可以与web服务器连接后可以获得多个web资源。
三、HTTP请求
- 客户端—发请求—服务端
- 请求
Request URL: https://www.baidu.com/ --请求地址
Request Method: GET --请求方式
Status Code: 200 OK --状态码200
Remote Address: 220.181.38.149:443 --远程地址
Referrer Policy: unsafe-url
1、请求行
-
请求行中的请求方式:GET
-
请求方式:GET\POST\HEAD\DELETE\PUT…
- get:请求能够携带的参数比较少,大小有限制,会在浏览器的url地址栏显示数据内容,不安全,但是高效
- post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器中显示参数内容,安全,但是效率不高
2、消息头
Accept:-- 告诉浏览器,他所支持的数据类型
Accept-Encoding: --支持哪种编码格式 GBK UTF-8 GB2312
Accept-Language: --告诉浏览器他的语言环境
Cache-Control: --缓冲控制
Connection: -- 告诉浏览器,请求完成是断开还是连接
HOST: -- 主机......
四、HTTP响应
- 服务端—响应—客户端
- 响应
Cache-Control: private --缓存控制
Connection: keep-alive --保持连接
Content-Encoding: gzip --编码
Content-Type: text/html;charset=utf-8
Date: Fri, 26 Feb 2021 07:17:23 GMT
Expires: Fri, 26 Feb 2021 07:16:26 GMT
Server: BWS/1.1
Set-Cookie: BDSVRTM=0; path=/
Set-Cookie: BD_HOME=1; path=/
Set-Cookie: H_PS_PSSID=33273_31253_33570_33605_26350_33266; path=/; domain=.baidu.com
Strict-Transport-Security: max-age=172800
Traceid: 1614323843283816013817873326395930570885
Transfer-Encoding: chunked
X-Ua-Compatible: IE=Edge,chrome=1
1、响应体
Accept:-- 告诉浏览器,他所支持的数据类型
Accept-Encoding: --支持哪种编码格式 GBK UTF-8 GB2312
Accept-Language: --告诉浏览器他的语言环境
Cache-Control: --缓冲控制
Connection: -- 告诉浏览器,请求完成是断开还是连接
HOST: -- 主机......
Refresh:告诉客户端多久刷新一次
Location:让网页重新定位
2、响应状态码
200:请求响应成功
3**:请求重定向
重定向--》重新到我给你的新位置
404:找不到资源
5**:服务器代码错误 500
502:网关错误
常见面试题:
当你的浏览器中的地址栏输入地址并且回车的一瞬间到页面能够展示回来,经历了什么?
1、首先,在浏览器地址栏中输入url
2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作。
3、在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址。
4、浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手。
5、握手成功后,浏览器向服务器发送http请求,请求数据包。
6、服务器处理收到的请求,将数据返回至浏览器
7、浏览器收到HTTP响应
8、读取页面内容,浏览器渲染,解析html源码
9、生成Dom树、解析css样式、js交互
10、客户端和服务器交互
11、ajax查询分
五、TCP/IP介绍
1.什么是TCP/IP
TCP/IP是用于因特网(Internet)的通信协议。
- 计算机通信协议(Computer Communication Protocol)
计算机通信协议是对那些计算机必须遵守以便彼此通信的的规则的描述。
- TCP/IP 是供已连接因特网的计算机进行通信的通信协议。
- TCP/IP 指传输控制协议/网际协议(Transmission Control Protocol / Internet Protocol)。
- TCP/IP 定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。
2.处理数据通信的协议
-
TCP(传输控制协议)-应用程序之间通信
-
UDP(用户数据报协议)-应用程序之间的简单通信
-
IP(网际协议)-计算机之间的通信
-
ICMP(因特网消息控制协议)-针对错误和状态
-
DHCP(动态主机配置协议)-针对动态寻址
3、常用协议
-
HTTP-超文本传输协议
HTTP 负责 web 服务器与 web 浏览器之间的通信。 HTTP 用于从 web 客户端(浏览器)向 web 服务器发送请求,并从 web 服务器向 web 客户端返回内容(网页)。
-
HTTPS-安全的HTTP
HTTPS 负责在 web 服务器和 web 浏览器之间的安全通信。
-
SSL-安全套接字层(Secure Sockets Layer)
SSL 协议用于为安全数据传输加密数据。
- SMTP - 简易邮件传输协议(Simple Mail Transfer Protocol)–SMTP 用于电子邮件的传输。
- MIME - 多用途因特网邮件扩展(Multi-purpose Internet Mail Extensions)
- POP - 邮局协议(Post Office Protocol)
- FTP - 文件传输协议(File Transfer Protocol)
- DHCP - 动态主机配置协议(Dynamic Host Configuration Protocol)
- NTP - 网络时间协议(Network Time Protocol)
- LDAP - 轻量级的目录访问协议(Lightweight Directory Access Protocol)
- ICMP - 因特网消息控制协议(Internet Control Message Protocol)
- PPTP - 点对点隧道协议(Point to Point Tunneling Protocol)