HTTP超文本传输协议
2026/9/15 14:01:31 网站建设 项目流程

一、HTTP

主要负责浏览器与服务器之间的通信

主要特征:

  • 无状态:每次通信的请求是独立的,服务器不会记住上一次的请求信息,例如刷新网站后,服务器不会自动识别“这是刚才的用户”。
  • 基于“请求——相应”:通信必须由客户端发起请求(输入网址),服务器再更具请求内容返回响应(加载网页内容)。
  • 明文传输(不加密):数据在传输时未进行加密,可能会被第三方拦截

解决缺点方案:

1.对于“无状态”的解决方案:

  • cookie:服务器通过响应头给客户端发送一小段数据,客户端后续请求的时候会自动携带这段数据,服务器通过检测来识别该用户是否登录过
  • session:服务器会为每个登录的用户创建一个会话,并存储会话状态,再通过cookie发送sessionID,后续通过该ID识别用户
  • token:客户端登录成功(第一次请求成功)后,服务器会返回一个加密的token,客户端发起请求时会在请求头携带token,服务器通过解密token识别用户

2.对于“明文传输”的解决方案:

使用加密性更好的HTTPS解决

  • 使用端口不一样:http使用80端口;https使用443端口
  • 地址标识不一样:http开头 http开头
  • HTTPS基于SSL/TLS加密传输

http适用于非敏感数据场合(公开的文章,公开政府文件)

https适用于支付,登录,转账

二、HTTP传输过程

HTTP传输过程时基于“客户端——服务器的四次交互”

1.建立TCP连接(三次握手)

2.客户端发起请求

客户端(浏览器)会按照HTTP协议格式,封装并发送请求数据给服务器

请求内容:

  1. 请求行(明确请求方法GET/POSE),提供目标资源路径,HTTP版本
  2. 请求头:附带附加信息,浏览器类型,接收的数据类型,cookie
  3. 请求体(可选):仅在POST方法中出现,用于传递数据

3.服务器处理客户端请求,并响应

3.1.解析客户端请求(请求行,请求头,请求体)解析,处理相关资源

例如当客户端发送的请求是这样的时:GET/index.html HTTP/1.0,服务器就会读取/index.html文件

3.2执行业务逻辑(查询数据库,生成动态界面)

3.3封装相应数据

分为三部分:响应行:包含HTTP版本,状态码(200 ok ,404(资源不存在),403(无权访问)),状态描述

响应头:携带服务器版本信息,数据类型,数据长度

响应体(核心内容):HTML代码,图片的二进制数据,JSON数据

3.4.关闭TCP连接(四次挥手)

三、HTTP通信里面的长链接和短链接

短链接长链接
对TCP连接生命周期的判定连接建立后,承载一次请求响应,然后就关闭建立连接后,承载多次请求响应,闲置时关闭
默认版本http/1.0http/1.1
连接标识短链接无需额外生命会在请求头中:Connection: Keep‑Alive
场景早期简单页面(只用一两个资源)现代复杂页面
资源消耗频繁建立/关闭连接,消耗CPU资源复用连接,减少连接的开销,消耗少

注意事项:

1.长链接不是永久链接,长链接时,会设置一个“闲时超时时间”的值,闲置时间超过该值,会自动断开
2.部分老旧服务器不兼容,需要长连接时,需要手动声明,显式声明KEEP-ALIVE

使用场景:

  • 短链接:接口调用,简单数据查询
  • 长链接:多次请求场景(加载网页,APP首页资源)

四、四个重要网络协议

  • DNS(域名解析协议):将域名(www.xxx.com)解析为IP地址
  • APR(地址解析协议):将IP地址解析为MAC物理地址 方便找到物理地址
  • NAT(网络地址转换):私有IP转换为公有IP 多设备共享同一共有IP地址,解决资源不足
  • DHCP(动态主机分配协议):当主机连接时,自动分配私有IP地址 无需手动设置IP,自动完成网络连接

当bind绑定的是小端口时,需要切换成管理员运行

/index.html是网页的默认首页文件,当用户访问某个域名,服务器会自动查找这个文件

当浏览器输入路径名时,需要注意浏览的文件范围,根目录(注意!!!),以防止路径里面..的效果

前端框架VUE:

HTML:超文本标记语言,用于创建网页的标准标记语言,通过标签设置网页

CSS:层叠样式表,用于控制HTML元素的显示样式,颜色,字体,布局

JS:网页交互脚本语言,可实现动态效果,表单验证,数据处理

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询