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