HTTP协议
超文本传输协议,规定浏览器和服务端数据交互格式
四大特性
- 基于请求响应。
- 在TCP/IP协议之上的应用层协议。
- 无状态(不能保存用户信息,后来为了保存用户信息,诞生了cookie,session,token等技术)
- 短链接(数据发送完毕就断开,每次发送都需要重新建立连接)。
请求数据格式
- 请求首行(请求方式,协议版本)
- 请求头(一对K:V键值对)
- \r\n
- 请求体(只有post请求才有请求体)
响应数据格式
- 响应首行(协议版本)
- 响应头(一对K:V键值对)
- \r\n
- 响应体
响应状态码
1XX:请求成功,但是还可以继续提交数据
2XX:请求成功 200
3XX:重新定向 301,302
4XX:404 资源不存在,403权限不够
5XX:500 服务器内部错误
请求方式
1、get:向服务端要数据
2、post:向服务端提交数据
HTML
HTML文档结构
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>title</title>
</head>
<body>
</body>
-
是文档声明,必须写在HTML文档的第一行,位于标签之前,表明该文档是HTML5文档。
</!doctype>
- 称为根标签,所有的网页标签都在中。
HTML的lang属性可用于网页或部分网页的语言。通常用于搜索引擎和浏览器的统计分析,不定义也没什么影响。
根据 W3C 推荐标准,您应该通过 标签中的 lang 属性对每张页面中的主要语言进行声明,比如:。
-
标签 用于定义文档的头部,它是所有头部元素的容器。常见的头部元素有title、script、style、link和meta等标签,头部标签在下一节中会有详细介绍,与之间的内容不会在浏览器的文档窗口显示,但是其间的元素有特殊重要的意义。
-
在和标签之间的内容是网页的主要内容,最终会在浏览器中显示出来。
HTML语法
语法
<标签名 属性1=“值1” 属性2=“值2” ......>内容部分</标签名>
<标签名 属性1=“值1” 属性2=“值2” ....../>
语法注意事项
- 记号/标签是不会显示出来的。
- 标签只是用来做记号而不负责控制样式:虽然用h1标记的文本在显示时会被加大加粗,但请务必记住,HTML的作用只有一个它是专门用来对文件做记号来标识其语义的(语义指的是该文本是做什么用的),加大和加粗这种为文本添加样式的操作并不是HTML擅长的,虽然早期的时候确实也用HTML来制作样式,但以后我们专门用CSS来做这件事,这也是一种解耦合的思想。
- HTML标签不区分大小写,
<h1>
和<H1>
是一样的,但是我们通常建议使用小写,大部分程序员都以小写为准。 - HTML中有部分标签是可以嵌套的。例如:,但不能交叉
段落
HTML注释
<!--这里是注释的内容-->
注释中可以直接使用回车换行。并且我们习惯用注释的标签把HTML代码包裹起来。如:
<!-- xx部分 开始 -->
这里放你xx部分的HTML代码
<!-- xx部分 结束 -->
head内常用标签
meta
标签是HTML的元素,在网页头部标签内定义,可提供与网页有关的结构化元数据,即网页的元信息(meta-information)。网页上并不会显示这些元信息,但计算机可以识别他们。
-
指定字符集。
<meta charset="gbk">
-
页面描述。
<meta name="Description" content="具体描述。。。">
-
关键字,有助于搜索引擎SEC优化,不过需要注意的是,再怎么优化也抵不过竞价排名。
<meta name="Keywords" content="网易,邮箱,游戏,新闻">
-
3秒后跳转
<meta http-equiv="refresh" content="3,http://www.sogo.com">
-
三秒后刷新
<meta http-equiv="refresh" content="3">
非meta相关标签
-
标题,显示在浏览器标签页
<title>百度一下,你就知道</title>
-
网站图标
<link rel="icon" href="https://www.baidu.com/favicon.ico">
-
定义内部样式
<style></style>
-
引入外部样式文件
<link rel="stylesheet" href="mystyle.css">
-
定义JavaScript代码或引入JavaScript文件
<script src="hello.js"></script>
body内常用标签
<b>加粗</b>
<i>斜体</i>
<u>下划线</u>
<s>删除</s>
<p>段落标签</p>
<h1>标题1</h1>
<h2>标题2</h2>
<h3>标题3</h3>
<h4>标题4</h4>
<h5>标题5</h5>
<h6>标题6</h6>
<br><!--换行-->
<hr><!--水平线-->
块级元素和行内元素
- 块元素,总是在新行上开始;内联元素,和其他元素在一行;
- 块元素,能容纳其他块元素或者内联元素;内联元素,只能容纳文本或其他内联元素;
- 块元素中高度,行高以及顶和底边距都可以控制;内联元素中高,行高及顶和底边距不可改变。
注意:p标签不能包含块级标签,p标签也不能包含p标签
1. 块儿级元素
独自占一行的标签,我们成为块儿级元素
eg: p, h1~h6,div
2. 行内元素
自身文本有多大,就占多大
eg: i, u, s, b ,span
img标签
<img src="123.png" >
1. src
1)外链地址
2)本地地址
2. alt
当图片加载失败的时候,写一些描述性信息
3.title
当鼠标悬浮显示的提示信息
# 注意:所有标签都有该属性
4. 设置图片大小
# 宽和高只写一个的话会等比例缩放
width:200
height:200
a标签
a标签标记一个内容为超链接,全称anchor,也被称作锚。
<a href="http://www.baidu.com" title="这是a标签" target="_blank">百度首页</a>
1. title
当鼠标悬浮显示的提示信息
2. target
_self : 默认当前标签页
_blank : 另开一个新的标签页