【linux】web基础与HTTP协议

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

web基础与HTTP协议

  • 一、DNS/HTML
    • 1.域名的概述
    • 2.域名注册
    • 3.网页的概念
    • 4.HTML概述
    • 5.网页基本标签
  • 二、web基础
    • 1.web概述
    • 2.静态网页
    • 3.静态网页特点
    • 4.动态网页
    • 5.动态网页的特点
  • 三、HTTP协议
    • 1.HTTP协议概述
    • 2.HTTP方法
    • 3.GET 和 POST 比较
    • 4.HTTP 状态码
      • 1.HTTP 常见状态码
    • 5.HTTP 请求流程分析
    • 6.HTTP访问的过程


一、DNS/HTML

1.域名的概述

域名的概念

  • IP地址不易记忆

早期使用Hosts文件解析域名

  • 主机名称重复
  • 主机维护困难

DNS(Domain Name System 域名系统)

  • 分布式
  • 层次性

域名空间结构

  • 根域
  • 顶级域
  • 二级域名
  • FQDN=主机名DNS后缀

2.域名注册

  • 域名注册是Internet中用于解决地址对应问题的一种方法
  • 遵循先申请先注册原则
  • 域名注册步骤

在这里插入图片描述

3.网页的概念

网页

  • 纯文本格式文件
  • 编写语言为HTML
  • 在用户的浏览器中被“翻译”成网页形式显示出来

网站

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

主页

  • 打开网站后出现的第一个网页称为网站主页(或首页)

域名

  • 浏览网页时输入的网址

HTTP

  • 用来传输网页的通信协议

URL

  • 是一种万维网寻址系统

HTML

  • 用来编写网页的超文本标记语言

超链接

  • 超链接是将网站中不同网页链接起来的功能

发布

  • 将制作好的网页上传到服务器供用户访问的过程

4.HTML概述

HTML超文本标记语言

  • Hyper Text Markup Language
  • 网页的“源码“

HTML文档的结构

  • HTML网页
  • 头部部分
  • 标题部分
  • 主体部分
  • 网页内容,包括文本、图像等

在这里插入图片描述

5.网页基本标签

标签描述
title定义了文档的标题
base定义了页面链接标签的默认链接地址
link定义了一个文档和外部资源之间的关系
meta定义了HTML文档中的元数据
script定义了客户端的脚本文件
style定义了 HTML 文档的样式文件

二、web基础

1.web概述

  • Web(World Wide Web)即全球广域网,也称为万维网
  • 一种分布式图形信息系统
  • 建立在Internet上的一种网络服务

Web1.0 vs Web2.0

Web1.0

  • 以编辑为特征,网站提供给用户的内容是编辑处理后的,然后用户阅读网站提供的内容
  • 这个过程是网站到用户的单向行为

Web2.0

  • 更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是o网站内容的制造者
  • 加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户双向的交流与参与
  • Web2.0特征 用户分享、以兴趣为聚合点的社群、开放的平台,活跃的用户

2.静态网页

  • 静态网页是标准的HTML文件
  • 扩展名是htm、.html (文本、图像、声音、Flash动画、客户端脚本和ActiveX控件及Java小程序等)
  • 是网站建设的基础,早期网站一般都由静态网页制作
  • 没有后台数据库、不含程序和不可交互的网页
  • 相对更新起来比较麻烦,适用于一般更新较少的展示型网站

3.静态网页特点

  • 每个静态网页都有一个固定的URL,且URL以htm.html、.shtml等常见形式为后缀,而不含有“?”
  • 网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页都是保存在网站服务器上的
  • 静态网页的内容相对稳定,容易被搜索引擎检索
  • 静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难
  • 静态网页的交互性较差,在功能方面有较大的限制
  • 页面浏览速度迅速,过程无需连接数据库,开启页面速度快于动态页面

4.动态网页

  • 网页URL不固定,能通过后台与用户交互
  • 在动态网页网址中有一个标志性的符号一“?”
  • 常用的语言有PHP、JSP、Python、Ruby等

5.动态网页的特点

交互性

  • 网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大势所趋

自动更新

  • 无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量

因时因人而变

  • 当不同的时间,不同的人访问同一网址时会产生不同的页面

三、HTTP协议

1.HTTP协议概述

HTTP协议是互联网上应用最为广泛的一种网络协议设计这个协议的目的是为了发布和接收Web服务器上的HTML页面

HTTP协议的版本

  • HTTP 0.9
  • HTTP 1.0
  • HTTP 1.1
  • HTTP 1.2

2.HTTP方法

HTTP支持几种不同的请求命令,这些命令被称为HI
方法(HTTP method)

每条HTTP请求报文都包含一个方法,告诉服务器要执行什么动作

  • 获取一个Web 页面
  • 运行一个网关程序
  • 删除一个文件等

HTTP协议有多种获得Web资源的方法

常用的方法:GET和POST

HTTP方法描述
GET请求获取Request-URI所标识的资源
PUT请求服务器存储一个资源,并用Request-URI作为其标识
DELETE请求服务器删除Request-URI所标识的资源
POST在Request-URI所标识的资源后附加新的数据
HEAD请求获取由Request-URI所标识的资源的响应消息报头

3.GET 和 POST 比较

GETPOST
GET请求能被缓存POST请求不能被缓存
GET请求会保存在浏览器的浏览纪录里POST请求不会保存在浏览器的浏览纪录里
GET请求有长度的限制POST请求没有长度限制
查询的字符串会显示在URL后缀中,不安全,比如 http://www.test.com/a.php?Id=123查询的字符串不会显示在URL中,比较安全

4.HTTP 状态码

HTTP 状态码(HTTP Status Code)是用以表示网页服务器 HTTP 响应状态的 3 位数字代码,当浏览器请求某一 URL 时, 服务器根据处理情况返回相应的处理状态。
通常正常的状态码为2xx,3xx(如200),如果出现异常会返回4xx,5xx(如404)。

状态码首位范围含义
1xx100-101信息提示
2xx200-206成功
3xx300-305重定向
4xx400-415客户端错误
5xx500-505服务器错误

1.HTTP 常见状态码

状态码功能说明
200一切正常
301永久重定向
302临时重定向
401用户名或密码错误
403禁止访问(客户端IP地址被拒绝)
404请求的文件不存在
414请求URI头部过长
500服务器内部错误
502无效网关

注!:产生502(无效网关)的原因
1、数据包没有送到网卡,网络问题;
2、数据包送进去了(交换机能抓到包),但是网卡没收到,网卡问题或防火墙问题;
3、网卡接收到了,处理不了,服务问题。(比如服务器当前连接太多,响应太慢;页面素材太多,带宽不够。)

5.HTTP 请求流程分析

用户在浏览器输入URL访问时,发起HTTP请求报文,请求中包括请求行、请求头、请求体,服务器收到请求后返回响应报文,包括状态行、响应头、响应体。

请求报文四部分:
请求行:请求行由请求方法、URL 以及协议版本三部分组成。
请求头:请求头为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔。
空行:请求头部的最后会有一个空行,表示请求头部结束,接下来为请求体,这一行非常重要,必不可少。
请求体:请求体是请求提交的参数,GET 方法已经在 URL 中指明了参数,所以提交时没有数据。POST 方法提交的参数在请求体中。

常用的请求头:

请求头描述
Host接受请求的服务器地址,可以是 IP:端口号,也可以是域名
User-Agent发送请求的应用程序名称
Connection指定与连接相关的属性,如 Connection:Keep-Alive
Accept-Charset通知服务端可以发送的编码格式
Accept-Encoding通知服务端可以发送的数据压缩格式
Accept-Language通知服务端可以发送的语言

响应报文四部分
状态行:状态行由协议版本,状态码,状态码描述三部分组成。
响应头:响应头与请求头部类似,为响应报文添加了一些附加信息。
空行:响应头部的最后会有一个空行,表示响应头部结束。
响应体:服务器返回的相应 HTML 数据,浏览器对其解析后显示页面。

常用的响应头:

响应头描述
Server服务器应用程序软件的名称和版本
Content-Type响应正文的类型(是图片还是二进制字符串)
Content-Length响应正文长度
Content-Charset响应正文使用的编码
Content-Encoding响应正文使用的数据压缩格式
Content-Language响应正文使用的语言

6.HTTP访问的过程

1.建立连接:客户端发送一个请求到服务端,并建立一个 TCP 连接 (三次握手)。
2.发送请求:客户端发送一个 HTTP 请求到服务端,该请求包含请求方法,URL 和协议版本等信息,以及可能还包括请求头和请求体信息。
3.处理请求:服务端接收到请求并进行处理,这个过程包括解析请求头和请求体信息,验证请求并进行一些业务处理等。
4.发送响应:服务端发送一个 HTTP 响应到客户端,该响应包含响应状态码,响应头和响应体等信息。
5.接收响应:客户端接收响应,并进行处理,包括解析响应头和响应体信息,验证响应并进行一些业务处理等。
6.关闭连接:客户端和服务端在完成请求和响应后,关闭 TCP 连接 (四次挥手)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/26077.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

redis数据持久化

Redis是基于内存的,如果不想办法将数据保存在硬盘上,一旦Redis重启(退出/故障),内存的数据将会全部丢失。(业务库中缓存的数据 , 存储的一些重要的标签, 状态数据) 我们肯定不想Redis里头的数据由于某些故障全部丢失(导致所有请求都走MySQL)&…

python基础----05-----函数的多返回值、函数的多种参数使用形式、函数作为参数传递、lambda匿名函数

一 函数的多返回值 if __name__ __main__:# 演示使用多个变量,接收多个返回值def test_return ():return 1,hello,Truex,y,z test_return()print(x)print(y)print(z)1helloTrue二 函数的多种参数使用形式 分为以下四种。 2.1 位置参数 位置参数调用函数时根据…

大数据分析案例-基于决策树算法构建世界杯比赛预测模型

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

【计算机网络详解】——应用层(学习笔记)

📖 前言:应用层是计算机网络体系结构的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分。在本文中,我们以一些经典的网络应用为例来学习有关网络应用的原理、协议和实现方面的知识。 目录 &a…

12.数据结构之AVL树

前言 提到平衡二叉查找树,不得不提二叉查找树。二叉查找树,说简单点,其实就是将我们的数据节点,有序的维护为一个树形结构。这样我们查的时候,那么我们查找某个节点在不在集合中的时间复杂度实际上就是树的高度。如果…

HNU-操作系统OS-实验Lab7

OS_Lab7_Experimental report 湖南大学信息科学与工程学院 计科 210X wolf (学号 202108010XXX) 实验目的 理解操作系统的同步互斥的设计实现;理解底层支撑技术:禁用中断、定时器、等待队列;在ucore中理解信号量(semaphore)机制的具体实现;理解管程机制,在ucore内…

在linux服务器中对R语言中for循环设置多核运行

1 问题 在R中构建了for循环,由于循环过多,运行速度过慢,且不同循环之间是并行关系,拟通过多核运行可以解决此问题。 2 代码设置 2.1 shell脚本中的设置 b.sh export OPENBLAS_NUM_THREADS8Rscript ./..._1.R \2.2 R代码中的设…

python数据可视化-matplotlib学习总结

目录 (一)常见的图形 1、趋势图(直线图):plot() 2、散点图:scatter(): (二)统计图形 1、柱状图:bar( 2、条形图:barh() 3、直方图&#xff…

【ZLM】ZLM源码阅读一

目录 初始化 RTP RTSP RTMP TCPServer的初始化 参考文档 初始化 RTP RTSP RTMP TCPServer的初始化 参考文档 本文参考: (17条消息) 《ZLToolKit源码学习笔记》(20)网络模块之TcpServer_秦时小的博客-CSDN博客 RTP https://blog.csdn.…

探秘 | 如何分辨内网和外网?

目录 💡 什么是外网IP、内网IP? 💡 对于自有路由器上网的用户,可以这样理解外网IP、内网IP 💡 几个大家经常会问的问题 什么是外网IP、内网IP?很多用户都有一个疑惑,如果不使用路由器拨号上网…

Redis实现分布式锁的原理:常见问题解析及解决方案、源码解析Redisson的使用

0、引言:分布式锁的引出 锁常常用于多线程并发的场景下保证数据的一致性,例如防止超卖、一人一单等场景需求 。通过加锁可以解决在单机情况下安全问题,但是在集群模式下就不行了。集群模式,即部署了多个服务器、并配置了负载均衡后…

ChatGPT 使用 拓展资料:2023年6月 吴恩达大咖Deeplearning.ai最新课程

ChatGPT 使用 拓展资料:2023年6月 吴恩达大咖Deeplearning.ai最新课程 Deeplearning.ai刚刚发布几个新的课程https://www.deeplearning.ai/short-courses/?utm_campaign=May%20Short%20Course%20Launch&utm_content=250952287&utm_medium=social&utm_source=link…

汽车出海势头旺,汽车零部件企业如何破浪前行?

随着国内汽车市场逐渐饱和,中国汽车企业开始寻求“汽车出海”的新市场增长点。在政府加大汽车出海政策支持力度下,根据中汽协数据,一季度的新能源汽车出口达24.8万辆,同比增长1.1倍。中国汽车行业持续深耕海外市场,出口…

SQL server入门一【简单介绍与简单建表】

SQLserver登录方式 Windows身份验证 用户名登录 通常登录名为sa,密码为下载时设置的密码 SQL server建立一个数据库 数据库中建表存储数据(输入命令建表) 数据库的简单介绍与概念 含义 可以对数据进行存储和管理的软件以及数据本身统称为数据库 组成 数据库由表…

微服务架构之RPC调用

在单体应用时,一次服务调用发生在同一台机器上的同一个进程内部,也就是说调用发生在本机内部,因此也被叫作本地方法调用。在进行服务化拆分之后,服务提供者和服务消费者运行在两台不同物理机上的不同进程内,它们之间的…

自建极简Ethercat主站-底层驱动编写

1、简介 MECM(Mini Ethercat Master),名字随便起的。已经学习了一段时间的Ethercat总线了,目前的想法就是自己简单实现一个Ethercat主站,没有太多的冗余功能,暂时不考虑太多的容错机制,仅实现目前用到的FO…

性能测试监控平台:InfluxDB+Grafana+Jmeter

前言 性能测试工具jmeter自带的监视器对性能测试结果的实时展示,在Windows系统下的GUI模式运行,渲染和效果不是太好,在linux环境下又无法实时可视化。 2023年最新出炉性能测试教程,真实企业性能压测全流程项目实战训练大合集&am…

整型在内存中的存储

目录 一、为什么内存中存储补码? 二、大小端概念 百度笔试试题: 几道小题: 一、为什么内存中存储补码? 上一节我们了解了原码,反码,补码的概念(http://t.csdn.cn/N0grg)&#xff…

1-1 统计数字问题

题目: 我的答案: 一、信息 二、分析 1.如何选择数据结构? 2.如何选择算法有很多思路? 3.如何用文件实现输入输出? 三、思考 疑问1 我选择了一开始数组选择使用数组是一个不错的选择,尤其在这个问题中…

vulnhub dc-8

1.信息搜集 端口 22,80,31337 存活ip 192.168.85.136 2.访问网站,进行信息搜集 在欢迎页面发现sql注入 sqlmap进行跑数据 python sqlmap.py -u "http://192.168.85.136/?nid1" --batch -D d7db -T users -C name,pass --dump尝试robots.txt,发现后他登…