news 2026/5/11 13:27:44

Http概述

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Http概述

文章目录

  • Web基础-HTTP
      • 1、什么是项目
      • 2、什么是架构?
      • 3、架构所需关键词
      • 4、什么是集群?
      • 5、什么是负载均衡?
      • 6、http概述
        • 6.1、Web状态访问码
        • 6.2、Web的结构组成
        • 6.3、有哪些Web资源?
        • 6.4、HTTP的工作原理
        • 6.5、HTTP请求响应
        • 6.6、HTTP相关术语
        • 6.7、HTTP协议的原理
        • 用户访问网站整体的流程

Web基础-HTTP

1、什么是项目

项目是人们通过努力,运用新的方法,将人力的、材料的和财务的资源组织起来,在给定的费用和时间约束规范内,具有明确目标的一次性工作任务,以期达到由数量和质量指标所限定的目标,类似于手机的app,每一个app都可以算做一个项目

2、什么是架构?

  1. 根据要解决的问题,对目标系统的边界进行界定。
  2. 并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间
  3. 并对这些切分出来的部分,设立沟通机制
  4. 使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作

3、架构所需关键词

- 可靠性(Reliable) - 安全性(Secure) - 可扩展性(Scalable) - 可定制化(Customizable) - 可伸缩 (Extensible) - 可维护性(Maintainable) - 客户体验(Customer Experience) - 市场时机(Time to Market)

4、什么是集群?

一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。

5、什么是负载均衡?

将用户的请求,分摊到多个操作单元上执行,保证服务器的稳定性。

6、http概述

http:超文本传输协议

URL:统一资源定位【https://www.baidu.com:80/文件路径】

http的访问流程

web资源:当前主流的所有资源都可以识别

6.1、Web状态访问码
200直接成功301永久重定向(redirect)302临时重定向(redirect)304浏览器缓存307内部重定向(redirect)400客户端错误401认证失败403请求不到首页,权限被拒绝404资源找不到413访问的文件太大,不支持500服务器内部错误,程序代码错误502找不到后端的资源 bad gateway503服务器过载504请求超时
6.2、Web的结构组成
C/S:客户端和服务端 B/S:浏览器和服务端 - 代理 - 位于客户端和服务器之间的HTTP中间实体 - 缓存 - HTTP的仓库,使常用页面的副本可以保存在离客户端更近的地方 - 网关 - 连接其他应用程序的特殊Web服务器 - 隧道 - 对HTTP通信报文进行盲转发的特殊代理 - Agent代理 - 发起自动HTTP请求的半智能Web客户端
6.3、有哪些Web资源?
text/html,html格式的文本文档 text/plain,普通的ASCII文本文档 image/jpeg,JPEG格式图片 image/gif,GIF格式图片 video/quicktime,Apple的QuickTime电影 application/vnd.ms-powerpoint,微软的PowerPoint演示文件
6.4、HTTP的工作原理
1.用户输入域名->浏览器跳转->DNS解析( 递归查询 | 迭代查询 ) 客户端向服务端发起查询->递归查询 服务端向服务端发起查询->迭代查询 2.由浏览器向服务端发起TCP连接(三次握手) 客户端 -->请求包连接-syn=1 seq=x 服务端 服务端 -->向应客户端syn=1 ack=x+1 seq=y 客户端 客户端 -->建立连接 ack=y+1 seq=x+1 服务端 3.客户端发起HTTP请求: 1.请求的方法是什么: Get 获取 2.请求的Host主机是: www.aliyun.com 3.请求的资源是什么: /index.html 4.请求的端口是什么: 默认HTTP是80 HTTPs 443 5.请求携带的参数是: 属性(请求的类型、压缩、认证、等等) 6.请求最后的空行 4.服务端响应的内容是 1.服务端响应使用的WEB服务软件 2.服务端响应请求文件的类型 3.服务端响应请求的文件是否进行压缩 4.服务端响应请求的主机是否进行长连接 5.客户端向服务端发起TCP断开(四次挥手) 客户端 --> 断开请求 fin=1 seq=x --> 服务端 服务端 --> 响应断开 ack=x+1 seq=y --> 客户端 服务端 --> 断开连接 fin=1 ack=x+1 seq=z --> 客户端 客户端 --> 确认断开 ack=z+1 seq=n --> 服务端
6.5、HTTP请求响应

1、请求报文的方法

get# 获得请求文件信息的数据内容(下载)post# 用户提交数据至服务器端存储(上传,增资源)put# 用户提交数据至服务器端存储(上传,改资源)Request URL:HTTP://10.0.0.7/index.html# 请求的URLRequest Method:GET# 请求的方法Status Code:200 OK# 当前的状态Remote Address:10.0.0.7:80# 远程的主机

2、用户访问网站携带的参数,以及服务端返回的参数

General:基本信息

Response Headers:响应的头部信息

Request Headers:请求的头部信息

基本信息:General

#请求的urlRequest URL:#请求方式Request Method:#状态码Status Code#远程主机IPRemote Address#控制请求头内容Referrer Policy

请求头部信息

#请求资源类型accept:#压缩accept-encoding:#语言accept-language: zh-CN,zh;q=0.9#缓存控制(没有做缓存)cache-control:#保持连接:长连接Connetection:keep-alive HTTP/1.1版本#长连接,一次TCP的连接可以发起多次HTTP请求HTTP/1.0版本#短连接,一次TCP的连接只能发起一次HTTP请求还有HTTP/2.0和HTTP/3.0#请求的域名Host:#登录信息cookie:#谷歌自带的(不属于请求头的内容)upgrade-insecure-requests:1#客户端(用户设备)user-agent:

响应报文包头

#缓存控制cache-control: no-cache, must-revalidate, max-age=0#压缩content-encoding:gzip#内容长度content-length:9410#返回内容类型及字符集content-type: text/html;charset=UTF-8#返回服务器时间date: Wed,14Aug201923:16:43 GMT#加密ideagleid: 2dfd119815648138332064260e#失效时间expires: Thu,19Nov198108:52:00 GMT#软链接link:<HTTPs://www.tfantastic.com/wp-json/>;rel="HTTPs://api.w.org/"#参数:没有缓存pragma: no-cache#使用的web软件server: Nginx#状态码status:200#指定特定站点允许访问timing-allow-origin: *#渲染vary: Accept-Encoding#经过各级缓存via: cache14.l2cm12[99,200-0,M], cache1.l2cm12[101,0], cache13.cn1300[122,200-0,M], cache4.cn1300[123,0]------------- 以下都是CDN厂商带的 ----------------#CDN缓存是否命中x-cache: MISS TCP_MISS dirn:-2:-2#缓存版本号x-powered-by: PHP/7.1.22#缓存时间x-swift-cachetime:0#保存时间x-swift-savetime: Sat, 03 Aug201906:30:33 GMT
6.6、HTTP相关术语

PV : 页面独立浏览量

UV : 独立设备

IP : 独立IP

假设公司有一座大厦,大厦有100人,每个人有一台电脑和一部手机,上网都是通过nat转换出口,每个 人点击网站2次, 请问对应的pv,uv,ip分别是多少?

那么上面的题: PV: 100_2_2 = 400

UV: 100*2 = 200 IP: 1

日PV千万量级并不大

6.7、HTTP协议的原理
1.用户输入域名->浏览器跳转->DNS解析(递归查询|迭代查询)客户端向服务端发起查询->递归查询 服务端向服务端发起查询->迭代查询2.由浏览器向服务端发起TCP连接(三次握手) 客户端 -->请求包连接-syn=1seq=x 服务端 服务端 -->向应客户端syn=1ack=x+1seq=y 客户端 客户端 -->建立连接ack=y+1seq=x+1 服务端3.客户端发起HTTP请求:1.请求的方法是什么: Get 获取2.请求的Host主机是: www.aliyun.com3.请求的资源是什么: /index.html4.请求的端口是什么: 默认HTTP是80 HTTPs4435.请求携带的参数是: 属性(请求的类型、压缩、认证、等等)6.请求最后的空行4.服务端响应的内容是1.服务端响应使用的WEB服务软件2.服务端响应请求文件的类型3.服务端响应请求的文件是否进行压缩4.服务端响应请求的主机是否进行长连接5.客户端向服务端发起TCP断开(四次挥手) 客户端 -->断开请求fin=1seq=x -->服务端 服务端 -->响应断开ack=x+1seq=y -->客户端 服务端 -->断开连接fin=1ack=x+1seq=z -->客户端 客户端 -->确认断开ack=z+1seq=n -->服务端
用户访问网站整体的流程

1.客户端发起HTTP请求,请求会先抵达前端的防火墙

2.防火墙识别用户身份,通过内部交换机将正常的请求通过tcp连接负载均衡,传递用户的HTTP请求

3.负载接收到请求,会根据请求的内容进行下发任务,通过tcp连接web服务器,发送用户的HTTP请求

4.web接收到用户的HTTP请求后,会根据用户请求的内容进行解析,解析分为如下:

静态请求:由web服务器向nfs建立tcp连接,获取对应的图片,最后返回给负衡(负载均衡->防火墙->

用户)

动态请求:有web向后端的动态程序建立TCP连接,将用户的动态HTTP请求传递态程序->由动态程序进行解析

5.动态程序在解析的过程中,如果碰到查询数据库的请求,则优先和缓存建立tcp接,然后缓存服务发起HTTP 的查询

6.如果缓存没有对应的数据,动态程序再次向数据库建立tcp的连接,然后发起查询。

7.由数据库返回->动态程序->缓存->web服务->负载均衡->防火墙->用户。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 19:23:54

线性系统(非线性系统)

线性系统&#xff08;非线性系统&#xff09; 若任意x(t)–系统–>y(t) &#xff0c;则有ax(t)–系统–>ay(t)x1(t)–系统–>y1(t) x2(t)–系统–>y2(t) > x1(t) x2(t) --系统–> y1(t) y2(t)同时满足12 则是线性系统 齐次性 叠加性线性系统举例&#…

作者头像 李华
网站建设 2026/4/22 16:05:41

LaTeX公式转换终极指南:从网页到Word的完整解决方案

在学术写作和科研工作中&#xff0c;LaTeX公式与Word文档的格式转换一直是研究人员面临的常见挑战。传统方法需要手动重新输入复杂的数学表达式&#xff0c;不仅耗时费力&#xff0c;还容易引入错误。LaTeX2Word-Equation作为一款专业的Chrome扩展工具&#xff0c;完美解决了这…

作者头像 李华
网站建设 2026/5/7 19:23:34

飞书文档批量导出神器:跨平台高效备份解决方案

飞书文档批量导出神器&#xff1a;跨平台高效备份解决方案 【免费下载链接】feishu-doc-export 项目地址: https://gitcode.com/gh_mirrors/fe/feishu-doc-export 在数字化办公日益普及的今天&#xff0c;企业文档管理面临着前所未有的挑战。当公司从飞书切换到其他办公…

作者头像 李华
网站建设 2026/5/8 15:07:13

【MediaPipe的手势识别系统】

上图先 import sys import cv2 import logging import mediapipe as mp import numpy as np from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QVBoxLayout, QHBoxLayout, QWidget, QTextEdit, QPushButton from PyQt5.QtGui import QImage, QPixmap, QFont f…

作者头像 李华
网站建设 2026/5/7 20:39:21

HiveSQL 中的集合运算详解

在大数据分析过程中&#xff0c;整合多源数据的需求十分常见&#xff0c;此时集合运算发挥着关键作用。本文将重点介绍HiveSQL中的集合运算方法&#xff0c;助力数据分析师高效完成复杂的数据整合工作。为什么需要集合运算&#xff1f;假设你手头有来自多个业务系统的用户数据&…

作者头像 李华
网站建设 2026/5/10 14:35:52

LobeChat能否实现AI织布工?非遗技艺传承与现代时尚融合设计

LobeChat能否实现AI织布工&#xff1f;非遗技艺传承与现代时尚融合设计 在苏州博物馆的一角&#xff0c;一位年轻设计师正对着一块清代云锦残片沉思。她想从中提取纹样用于新中式礼服设计&#xff0c;却苦于无法准确理解那些繁复图案背后的文化语义。如果此刻有个懂历史、会审美…

作者头像 李华