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显示,比较安全

相关推荐
Shepherd06191 小时前
【Jenkins实战】Windows安装服务启动失败
运维·jenkins
Biomamba生信基地1 小时前
Linux也有百度云喔~
linux·运维·服务器·百度云
new_abc2 小时前
Ubuntu 22.04 ftp搭建
linux·运维·ubuntu
鹿鸣天涯2 小时前
‌华为交换机在Spine-Leaf架构中的使用场景
运维·服务器·网络
小白也有IT梦2 小时前
域名绑定服务器小白教程
运维·nginx
有梦想的咕噜2 小时前
Secure Shell(SSH) 是一种网络协议
运维·网络协议·ssh
dntktop2 小时前
免费,WPS Office教育考试专用版
运维
苹果醋33 小时前
C语言 strlen 函数 - C语言零基础入门教程
java·运维·spring boot·mysql·nginx
loong_XL4 小时前
automa 浏览器自动化工具插件
运维·自动化
ForRunner1234 小时前
在 Node.js 中解决极验验证码:使用 Puppeteer 自动化
运维·node.js·自动化