Web基础与http协议

HTML相关知识

1.HTML是什么

HTML叫做超文本标记语言,是一种规范,也是一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容。 HTML命令可以说明文字,图形、动画、声音、表格、链接等。

HTML文件可以使用任何能够生成txt文件的文本编辑器来编辑,生成超文本标记语言文件,只用修改文件名后缀为".html"或".htm"即可。

2.HTML格式

HTML文件最外层由< html> < /html>表示,说明该文件是用HTML语言描述的。在它里面是并列的头标签(< head>)和内容标签(< body>)。

html 复制代码
 <html>
     <head>网页的头部信息</head>
     <body>网页内容</body>
 </html

3.什么是网页

纯文本格式的文件

语言:HTML

翻译器:浏览器来翻译HTML语言

4.什么是网站

网站是由多个网页组成,网页的结合体。打开网站之后的结合体就是网站的首页

5.域名

域名需要注册,访问网站时输入的网址就是我们说的域名

6.HTML里面的URL

万维网的寻址系统(唯一标识)

7.HTML里面的URI

<www.bilibili.com/> 后面的内容

为网站的分支内容

8.超链接

靠超链接把网站内不容内容组织起来(URI组织起来)

Web相关知识

1.web是什么

world wide web 全球广域网,也就是万维网

2.Web的种类

web 1.0(看)

看,也就是看网页

web 2.0 (看,交互)

用户不仅仅可以看,还可以是网页内容的制造者,网站和用户可以双向交流

静态网页和动态网页

1.什么是静态网页

静态页面只是:文本文件,可以修改,一般已 .html .htm保存的文本文件。网站的基础。静态页面和后台数据库没有任何交互

不包含请求程序

更新起来比较复杂,一般适用于更新比较少的展示型页面

2。什么是动态网页

1.url不是固定的

2.动态页面的URL当中一般有个?

3.动态页面:PHP,jsp,python,node.js

4.动态页面可以自动更新

5.访问的时间不同,访问的页面内容会发送变化

http协议

1.分类

HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上服务器信息、实体元信息以及可能的实体内容。

HTTP 已经演化出了很多版本,它们中的大部分都是向下兼容的:

http 0.9已淘汰

http 1.0 相较以前版本可以支持POST、HEAD方法,支持HTML文件以外的其他类型,但不支持持久连接

http 1.1 支持持久连接,即在一个TCP连接里面完成多个http请求和响应,但是每个请求和响应是按照顺序一一对应的

http 2.0 支持完全多路复用,即不光可以在在一个TCP连接里面完成多个http请求和响应,而且请求和响应不用按照顺序一一对应。 ( 也支持压缩,服务端主动推送)

http 3.0 基于UDP协议 ,最新版本还在初步推广中

2.介绍

1.http是一种超文本传输协议,基于tcp协议的应用层传输协议。简单来说就是客户端和服务端之间进行数据传输的一种规则(请求和响应)。

2.http是应用层上的协议。建立连接是三次握手,端口是四次挥手,建立连接之后,客户端与服务端之间的请求和接受,响应都是通过socket接口来调用tcp协议实现

3.http:是一种无状态协议,http协议不会对发送的请求和响应进行任何处理。http协议能够处理大量的事务,提高效率。

http本身无状态,会话保持和缓存的问题。

3.http工作流程

客户端:服务端通信过程

请求---响应的模型

建立连接: tcp/ip协议与服务器建立连接(三次握手),客户端向服务器的80端口发送连接请求。

发送请求:一旦连接就建立之后,客户端向服务器发送http请求。

http请求:由一个请求行和多个头部字段组成。

请求方式: get post

服务端处理请求:根据请求和内容进行处理。服务端会读取请求头部的字段,解析参数,处理数据等等

服务端返回响应:形成一个http响应,响应由一个响应行,包含多个字段。响应内容包含一个重要内容状态码。用于表示服务端对于请求的处理结果。

HTTP状态码

|-----------|-------------|-----------|
| 状态码首位 | 范围 | 含义 |
| 1xx | 100-101 | 信息提示 |
| 2xx | 200-206 | 成功 |
| 3xx | 300-305 | 重定向 |
| 4xx | 400-415 | 客户端错误 |
| 5xx | 500-505 | 服务器错误 |

常用状态码的具体含义:

|---------|--------------------------------------------------------------------|
| 状态码 | 含义 |
| 200 | 一切正常 |
| 301 | 永久重定向 |
| 302 | 临时重定向 |
| 401 | 用户名或者密码错误 |
| 403 | 禁止访问(客户端IP地址被拒绝) |
| 404 | 请求文件不存在 |
| 414 | 请求URL头部过长 |
| 500 | 服务器内部错误。比如脚本错误,变成语言语法错误 |
| 502 | 无效网关 |
| 503 | 当前服务不可用,web服务器不能处理HTTP请求,可能是临时超载或者是服务器进行停机维护。 |
| 504 | 网关请求超时。程序执行时间过长导致响应超时,例如程序需要执行20秒,而nginx最大响应等待时间为10秒,这样就会出现超时。 |

返回值500解决方法

1.检查防火墙

2.检测进程也就是服务器状态

3.检查端口

4.检查配置文件。端口号被占用

传输数据:一旦服务器生成了http响应,会通过之前建立的连接将响应返回给客户端。

响应当中包含了请求的资源(网页内容)以及其他内容的需要传输的数据(一般是自定义)

关闭连接:响应发送完成,服务端就会进入连接关闭, http 1.1 time_wait 。 双方还在建立连接,双方之间不再有数据传输。

一旦有新的请求,连接可以继续使用。160秒 会话保持或者长连接。

http1.1会一次性获取页面全部资源,然后发起四次挥手。只是不再传输数据。连接没有断开。

http的请求方式:get,post

get向服务器发起请求的数据,依照http协议来进行,get就是请求

请求行

请求体:

Accept表示客户端可以接受的数据类型

Accept-Encoding:客户端可以接受的编码格式,以及数据是否需要压缩

Accept-Language:客户端可以接受的语言类型

Cache-Control:数据在本地缓存的时间

Connection :连接的处理方式,一般都是会话保持

Host:表示请求的ip和端口号,也可以请求的主机名。

User-Agent:客户端请求使用的浏览器的信息

响应头

响应体

post

向服务器发送数据,按照http协议进行,服务器添加数据,post的请求方式会修改服务器上的数据

get和post的区别

get的请求可以被缓存,get的请求可以保持在浏览器的cookie中

get请求长度有限制

get就是获取数据

post的请求不能被缓存,也不会保存至浏览器cookie中

post请求没有长度限制

请求字符串不会i显示,比较安全

相关推荐
_清浅7 小时前
计算机网络【第六章-应用层】
运维·服务器·计算机网络
正在努力的小河8 小时前
Linux 自带的 LED 灯驱动实验
linux·运维·服务器
李子圆圆8 小时前
电力专用多功能微气象监测装置在电网安全运维中的核心价值是什么?
运维·安全
花开富贵贼富贵8 小时前
MySQL 核心高级特性
运维·数据库·mysql
小宁爱Python8 小时前
Windows Docker Desktop占用C盘空间过大解决办法集合
运维·docker·容器
恒创科技HK9 小时前
如何选30G、60G、100G的香港高防服务器?
运维·服务器
wanhengidc9 小时前
云手机 手游专用虚拟手机
运维·服务器·安全·游戏·智能手机
檀越剑指大厂9 小时前
【Linux系列】Vim 中删除当前光标到行尾
linux·运维·vim
菠萝吹雪ing9 小时前
GUI 自动化与接口自动化:概念、差异与协同落地
运维·笔记·程序人生·自动化·接口测试·gui测试
周之鸥10 小时前
从零部署 Astro 静态网站到云服务器(含 HTTPS 一键配置)
运维·服务器·ubuntu·http·https·astro