当前位置: 首页 > news >正文

web基础和http协议

一、web概述

1.定义

Web,全称为World Wide Web,即全球信息网、万维网,是一个由许多互相链接的超文本组成的系统,是一种分布式图形信息系统。

2.组成部分

  • URL

URL(统一资源定位符):用于标识Web上的资源。

https://www.baidu.com/  #URL 链接地址
#协议 https://
#域名 www.baidu.com/
  • HTTP

HTTP(超文本传输协议):用于在Web上传输数据。

  • HTML

HTML(超文本标记语言):用于创建网页的结构和内容。

<title>  定义文档的标题  </title>
<base>  页面链接的默认地址  </base>
<meta>  html文档中的元数据 </meta>
<script> 客户端的脚本文件  </script>
  • CSS

CSS(层叠样式表):用于控制网页的布局和外观。

  • JavaScript

JavaScript:一种编程语言,用于增强网页的交互性和动态功能。

3.Web的技术架构

客户端-服务器模型

  • 客户端(通常是浏览器)向服务器发送请求,服务器处理请求并返回响应。

分布式系统

  • 利用多个服务器和数据中心协同工作,以提高网站的可用性和性能。

云计算与微服务架构

  • 利用云服务提供商的计算资源和弹性扩展能力来构建和维护Web应用。

4.Web的发展历程

  • Web 1.0

静态网页:纯页面模式(只读)单向行为。

静态页面的特点 
  1. 固定的URL
  2. 页面就是一个纯文本的用HTML语言编译的文件
  3. 静态页面没有后台数据库
  4. 静态页面不能实现交互
  5. 访问速度快,更新起来比较麻烦
  • Web 2.0

交互性与动态网页,更注重用户的交互,用户既是网站内容的消费者,同时也是网站内容的制造者。  

动态页面的特点
  1. 交互性,网页会根据用户的要求和操作进行相应,甚至改变页面的内容
  2. 自动更新
  3. 不同时间不同的人看到的页面会发生变化
  • Web 3.0 

开放数据与API经济;云计算服务(如AWS、Azure、Google Cloud)的兴起降低了Web开发的门槛,提供了弹性可扩展的基础设施;Progressive Web Apps (PWA)概念的提出,使得Web应用能够提供类似原生应用的体验,包括离线访问、推送通知等功能。

5.网页及相关概念

网页

编程语言(HTML语言)编译而成的前端页面,纯文本格式文件,浏览器翻译纯文本格式的文件,便于用户进行浏览。

网站

由多个页面构成的,是网页的一个结合体。

首页

网站在设计时,已经设计好了的,用户打开该站点默认的页面。

链接

URL;

超链接:将网站中的不同页面链接起来,形成一个内部的连接。

二、http协议

1.相关概念

协议:就是内容信息之间传播的规则和标准。

http协议

超文本传输协议,客户端和服务端之间进行数据传输的一种规则。http是应用层的协议,建立在传输层的tcp之上,客户端和服务端之间通过tcp协议建立连接,应用层上使用http协议进行数据传输,通过指定的端口来进行通信。http端口80

https协议

是加密的http,加密的超文本传输协议。在数据传输之前要通过证书进行身份验证,验证通过才可以进行数据传输。https端口443

cookie协议

浏览器提供的协议功能,cookie的信息不是保存在网站的,保存在浏览器本地(计算机里),保存用户的登录状态,跟踪统计用户访问网站的习惯,是一个很小的文件,主要的作用就是保存用户的信息。

2.http建立连接的过程

  • DNS解析

客户端向DNS服务器发送域名解析请求,DNS服务器返回目标服务器的IP地址。

解析的方式
  1. 运营商
  2. 本地配置/etc/hosts  #人工配置的域名和ip地址之间的映射关系
  3. /etc/resolv.conf   #DNS服务器的ip地址 bind 内网解析域名和ip地址之间的关系
  •  建立TCP连接

客户端和服务端通过tcp协议建立连接,客户端向服务端的80端口发送连接请求 ,三次握手的过程(SYN, SYN-ACK, ACK)。

  • 发送HTTP请求  

客户端通过已建立的TCP连接向服务器发送HTTP请求报文。请求报文包括请求行(请求方法、URL、HTTP版本)、请求头和可能的请求体。

请求头和请求体符号说明
method客户端的请求方式(get post)
path客户端请求的路径
scheme请求的加密方式(https)
Accept客户端请求之后,服务端需要响应客户端,客户端能够接受的数据类型
host显示请求客户端的ip地址
proxy-connection告诉服务端如何对请求连接处理
keep-alive服务端响应请求,并且传输完数据之后,不要立刻关闭连接,保持连接一段时间(tcp连接),保持时间一般60-180s
user-agent客户端请求的工具信息(浏览器的信息)
  • 服务器响应

服务器解析请求报文,处理请求,根据请求体当中的内容进行处理并生成响应。

  • 服务器返回响应的数据

响应通常包括状态行(HTTP版本、状态码、状态消息)、响应头和响应体。

请求的方式
getpost
不同之处是客户端向服务端请求的默认方式,请求数据是向服务端发送数据,是向服务端添加或者是修改数据
请求是可以被缓存的post的数据是 没有办法进行缓存的
请求字段的长度是有限的请求字段没有长度限制
请求的字段会显示在URL中,不太安全请求的查询字段在URL中是不显示的
状态码

状态码指的是服务端对客户端请求的响应结果。

1xx 信息提示

2xx 200-206 200表示成功,客户端发送的请求服务端能够成功的处理

3xx 300-305 重定向 (跳转页面)

4xx 400-415 客户端错误

5xx 500-505 服务端错误

状态码含义
200请求成功
301永久重定向
302临时重定向
304表示访问的是缓存
403客户端没有权限访问服务端的页面
404客户端请求的页面不存在
500内部服务器错误
502网关失效
503当前服务不可用
504网关请求超时
如果遇到502网关失效该如何解决?
  • 检查网络

检查本地网络连接,尝试重启路由器或调整网络设置;

检查DNS解析,确保域名正确解析到服务器的IP地址;

  • 检查防火墙和安全软件

查看防火墙规则没有阻止正常的通信;

关闭安全软件或防火墙,看是否解决了问题;

  • 检查配置文件

检查服务器的网络配置文件(是否有语法错误)、端口设置(端口是否被占用导致服务没有启动)等。

  • 数据传输

双方通过tcp建立的连接传输数据。

  • 关闭TCP连接

数据传送完毕之后,关闭连接。


http://www.mrgr.cn/news/79302.html

相关文章:

  • 「Mac畅玩鸿蒙与硬件43」UI互动应用篇20 - 闪烁按钮效果
  • Mysql数据库基础篇笔记
  • LearnOpenGL学习(高级OpenGL -- 深度测试,模板测试,)
  • xss学习前的基础
  • 期末复习-Hadoop名词解释+简答题+代码题hive
  • WordPress阅读文章显示太慢的处理
  • vue 一行显示的动态消息
  • 鸿蒙应用获取wifi连接的ip地址(官方文档获取的格式转换成192.168.1.xxx格式)
  • Linux-实用操作
  • Redis的五种数据类型(String、Hash、List)
  • centos 常见问题处理
  • Qt 面试题学习13_2024-12-1
  • ScribblePrompt 医学图像分割工具,三种标注方式助力图像处理
  • 构建万能 MOCK-API
  • Ubuntu显卡驱动安装
  • 阿里云ECS服务器域名解析
  • 在 MacOS 上为 LM Studio 更换镜像源
  • 使用MATLAB从Excel文件读取数据并绘制堆叠柱状图
  • 数据结构之四:堆和二叉树
  • 数据库分库分表策略