2020-12-05第三次周报

第三次周报

———————————————————————————————————————
菜鸡本周又来分享所学了,本周所学的都是一些入门的知识,大多数需要记住,我将网络上以及书上的内容结合起来再结合着自己的想法,我想应该像如果你也是刚入门的话应该可以看懂。本次贴也涉及了之前的帖子的内容。全篇全是文字,请耐心阅读,如有错误或者有更好的解释欢迎评论区提出.
这次有 HTML基础 HTTP协议基础 一个小算法 和 Linux基础.

1.HTML基础
什么是HTML?

HTML是用来描述网页的一种语言。
HTML指的是超文本标记语言。
HTML不是一种编程语言,而是一种标记语言
标记语言是一套标记标签。
HTML使用标记标签来描述网页。

什么是HTML标签?

HTML标签通常都是成对存在的如< b>与< /b> 表达方式是 <标签>内容<标签>
标签对中的第一个标签是开始标签,第二个标签是结束标签。也叫开放闭合标签。

什么是HTML元素?

其实HTML元素和HTML标签是同样的意思。严格来讲的话就是元素包含了开始标签与结束标签。
就比如< p>hello,world< /p>这就是以个 HTML标签。

web浏览器

web浏览器(像谷歌、edge、IE)是用来读取HTML文件的,通过浏览器用网页的形式显示。
浏览器不会显示HTML的标签但是,可以使用标签来决定如何将HTML的内容展现给用户。< body>内容< /body>,只有其中的内容才能通过网页显示出来。

对最基本的HTML文件的分析(我这里注释没有用 <!–…—>)


<!D O C T Y P E html> //声明是H T M L 5型文件|有利于在浏览器中正确的显示网页

< html>//根元素,就像C语言里面的#include <stdio.h>
< head>//该标签包含了文件元信息,就是定义了文档的信息
< meta charset=“u t f-8”> //用来显示中文内容的,一定不能丢!!!否则会出现乱码情况
< !–保证中文顺利输出–>

< title>文档标题</ title>//HTML文件的名字
< /head>
< body>
< h 1>我的第一个HTML页面</ h 1>
< p>我的第一个段落。</ p>
< /body>
< /html>//结束标签

下面是对一些语句的解释
表示注释(相当于C语言中的//)
<! D O C T Y P E> 表示文档的类型
< meta>表示HTML文档的元信息(相当于文件的隐藏信息)
< i frame>,定义内联框架(指< i frame>内容</ i frame>可以在一个浏览器窗口中显示多个页面)

X S S是什么?

X S S(是最普遍的web应用安全漏洞)通过网页开发时留下的漏洞,通过某种方法注入恶意指令代码,时用户加载并执攻击者制造的恶意网页程序.
与其相关的语句要记住如下:
< script>定义客户端的脚本
<i mg s r c=>,规定显示图像的URL(有网络定位的链接地址)(就好像你打开网络图片,你可以复制其链接这就相当于URL)
< body background=>,规定文档背景图像的URL
< body o n l o a d=> body标签的事件属性
< input o n focus=a u t o f o c u s>,form表单的事件属性
< button o n c l i c k=> 击键的事件属性(就是当用户操作一个元素如 按钮、文本框时触发的某种事件,从而启动一段J A V A s c r i p t动作)
< link h e r f=>定义外部资源链接
< object data> 定义引用对象数据的URL

HTML编码
因为一些特殊字符在HTML程序中无法表示,所以运用HTML编码实现对特殊字符的表示
&quot——"
&a p o s——’
&amp ——&
&It ——<
&gt ——>
此外,任何字符都可以使用它的十进制或十六进制的A S C L L吗进行HTML编码
&#34——"
&#39——’
&#x 22——"
&#x 27——’

2.HTTP协议基础

HTTP是用来定义web浏览器与web服务器之间交换数据的过程,HTTP协议用于定义客户端与web服务器通讯的格式。HTTP定义了信息如何被格式化、如何被传输,以及在各种指令下服务器和浏览器所采取的响应。

HTTP协议的基本特点
1.基于请求和响应
客户端向http服务器发起一次请求,服务器对请求做出响应,一来一回。
2.无连接
无连接指在应用层无连接,限制每次连接只处理一次请求,也就是说客户发起请求,服务器做出响应,连接即终止。释放资源。长时间的链接会导致大部分网络资源的空闲,造成浪费。
3.无状态
指http协议没有记忆功能,每一次请求完毕后,它不会保存上一次的数据
优点:每一次的应答比较快
缺点:如果下一次请求的数据与上一次的相关联,就得进行数据总穿,可能会造成每一次的传输数据量很大
4.简单快速
协议简单,一来一回就结束使得http服务器程序规模小,从而使得通信速度快。
5.灵活
http协议允许传输任意类型的数据,使其能简化HTTP服务器的设计,可以接受大量高并发的请求 HTTP协议永远是客户端发送请求,服务器端回送响应。

HTTP的请求报文
请求报文分为四部分:请求行、请求报头信息、空行和请求正文.

请求行
http请求行由请求方法字段、url字段和http协议版本字段三个字段组成他们用空格隔开例如:POST http://job.xjtu.edu.cn/companyLogin.do HTTP/1.1

请求方法:

指令作用
GET请求获取URL的资源
POST执行操作,请求url资源后附加的新的数据
head获取资源响应消息报头
put请求服务器存储一个资源
delete请求服务器删除一个资源
trace请求服务器回送收到的信息
.options查询服务器的所支持选项

url字段:
最常见的url格式
protocol://[user[:password]@]hostname[:post]/[path]/file[?param=value]
协议 分隔符 用户信息 域名 端口 路径 资源文件 参数键 参数值
像/ ? : 这些字符,已经被url当作特殊意义理解了,因此这些字符不能随意出现。想要出线特殊字符,就必须先对特殊字符进行转义。转义的规则如下:将需要抓马的祖父转为16进制然后从右往左,取4为(不足4位直接处理,每两位作一位,前面加上%编码成%XY的形式)

url分为如下几个部分 ;例子:http://user:pass@www.example.jb:80/dir/index/htm?uid=1#chi
1.协议部分 上述url的协议部分为“http:”这代表网页使用的是HTTP协议在后面的“//”作为分隔符
2.身份验证 这一块的信息我们看到的比较少,这是一个可选的部分,会以匿名的形式出现,该部分以@作为结束符 如上面的 user
3.域名部分 关系到你 从那个服务器上去获取资源 如上面的www.example
4.端口 服务设定的端口,一般可以省略的。jb:80
5.路径 访问的资源在服务器下的相对路径,不是绝对路径,一般是/XXX/XXX的形式 如/dir/indexhtm
6.参数部分 从?到#之间的部分为参数部分,又叫做搜索部分】查询部分。参数允许多个参数存在,但要用&作为分隔符 如上面的uid=1
7.片段部分: 该部分与上面的?后面的表单信息本质的区别就是这部分内容不会被传递到服务器端。一般用于页面的锚。就是我们常见的网站右下脚一般有一个回到顶部的按钮,一般就是使用其实现的。如上面的chi1

请求报头:请求报头为请求报文添加了一些附加的信息,有“名/值”对组成,每行一对,名和之间使用冒号隔开
常见的请求头:
Host: 接受请求的服务器地址,也可以是域名
Use-Agent: 浏览器的识别标志
Connection:指定与连接相关的属性,如 Connection:Keep-Alive
Accept-Charset:通知服务器可以发送的编码格式
Accept-Encoding:通知服务端可以发送的数据压缩格式
Accept-Language:通知服务端可以发送的语言
Referer:表示用户怎么到这个本页面的 如:Referer:www.xxser.com/login.php,代表用户从login.php来到这个页面。
cookie:cookie是个非常重要的请求头,它是一段文本,常用来表示请求者身份
Range:可以请求实体的部分内容,多线程下载一定会用到此请头
x-forward-for:即xxf由,它代表请求端的IP,可以有多个,中间用逗号隔开
Accept:用来指定客户接受哪些MIME类型的信息 如:Accept:text/html,表示客户端希望接受HTML文本信息

请求报头后有一个空行,表示请求头结束,千万不能省略

空行:用于区分请求报头信息和请求正文

请求正文

可选部分,比如GET请求就没有请求正文,若请求方法死POST,则通常来讲此处放置的就是要提交的数据;比如要使用POST方法提交一个表单,其中有user字段中数据为“admin”, password字段为123456,那么这里的请求数据就是 user=admin&password=123456,使用&来连接各个字段。

响应报文:由三个部分组成 响应行、响应头、响应体

响应行

由HTTP协议版本、状态码、消息
常见的状态码如下有五种类别

状态码类型含义
1XX信息提示表示信息成功被接受。
2XX成功,服务器成功处理了请求
3XX重新定向,告诉客户端你要找的东西不在我着,让客户端去找其他人
4XX客户端错误状态码
5XX服务器端出现错误

常见的状态码

状态码含义
200客户端请求成功,是最常见的状态。
302重定向。
404请求的资源不存在,是最常见的状态
400客户端的请求由语法错误,不能被服务器所理解。
401客户端的请求未授权
403服务器收到请求,但是拒绝为客户端提供服务
500服务器内部错误,是最常见的状态
503服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

响应头:响应头用来表述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理数据
常见的响应头如下
Allow:服务器支持哪些请求方法
Content-Enconding:文档的编码方法。
contene-Type:表示后面的文档属于什么MIME类型。Servlet默认为text/plain,但通常需要显式地指定为text/html。由于经常要设置 Content-Type,因此HttpServletResponse提供了一个专用的方法setContentType。
DAte:当前的GMT时间。如Date:Mon,31Dec200104:25:57GMT
Expires:告诉浏览器把回送的资源缓存多长时间,-1和0则是不缓存。
Last-Modified:文档的最后改动时间。
Location:这个头配合302状态码使用,用于重定向接收者到一个新的url地址。提示客户应该到哪去获取资源
REfresh:告诉浏览器定时刷新一次浏览器
Server:服务器通过这个头告诉你浏览器服务器的类型
Set-Cookie:查看设置和页面相关联的cookie信息
Transfer-encoding:告诉浏览器数据的传送格式
WWW-Authenticate 告诉客户在Authorization头中应该提供什么类型的授权信息?在包含401的状态行的应答中这个头是必须的
Content-Length 实体报头用来指明实体正文的长度,以字节方式存储的十进制数字来表示。

响应体:响应体就是响应的消息体,热锅是纯数据就是返回纯数据,如果请求的是HTML页面,那么返回的即使HTML代码
HTTP版本
版本 简述

版本作用
HTTP 0.9该版本只允许 GET 方法,具有典型的无状态性,无协议头和状态码,支持纯文本
HTTP 1.0增加了 HEAD 和 POST 方法,支持长连接、缓存和身份认证
HTTP 1.1增加了 Keep-alive 机制和 PipeLining 流水线,新增了 OPTIONS、PUT、DELETE、TRACE、CONNECT 方法
HTTP 2.0增加了多路复用、头部压缩、随时复位等功能

3.算法
快速排序

4.linux基础

Linux常用命令:
1.开关机常见命令
shutdown-h now:立刻关机
shutdown-r now: 现在重新启动计算机
reboot: 现在重新启动计算机
su -: 切换用户;
passwd: 修改用户密码
logout: 用户注销
ls : 显示目标列表
cd[path]: 用来切换工作目录
pwd :以绝对路径的方式显示用户当前的工作目录
man[command]: 查看linux帮助信息
apropos[whatever]: 在数据库文件里查找关键字
echo[string] : 打印一行文本
cat[file] : 连接文件并打印到输出设备中
less[file]:允许用户向前或着向后浏览文字档案的内容
mv[file1][file2] :用来对文件目录重命名,或者将文件从一个目录移到另一个目录
cp[file1] [file2]: 将文件从一个目录转移到另一个目录
rm[file]: 用于删除一个或者多个文件
ps :用于报告当前系统的进程状态
top :实时查看系统的整体运行情况
kill :杀死一个进程
ifconfig :查看或者设置网络设备
ping :查看网络上的主机是否工作
netstat :显示网络链接、路由表和网络接口信息
nc(netcat) :建立tcp和udp连接并监听
touch[file] :创建新的空文件
mkdir [dir] :创建目录、
chmod :改变文件或目录的权限
chown :待变文件的所有者
nano/vim/Emacs/ :字符终端的文本编译器
exit 退出 shell
2.快捷命令
tab=补全
ctrl+l -:清屏
ctrl+c 终止当前进程
ctrl+z 暂停房前的进程使用’fg’可以继续
ctrl+d 删除光标处的字符
ctrl+a 移动到命令的行首
ctrl+e 移动到命令的行尾
ctrl+b 使单词向后移(向左)
ctrl+f 使单词前移(向右)
ctrl+shift+c 复制
ctrl+shift+v 粘贴
3.变量
var=value 给变量var赋值value
v a r , var, var,{var} 取变量的值
‘cmd’,$(cmd) 代换标准输出
‘string’ 不可替换字符
"string"可替换字符

分析简单的linux程序
$ var=“test”;//进行赋值
$ echo $var//打印出var中的内容
test
$ echo ‘This is a $var’;//打印出“This is a v a r ” 但 是 因 为 是 字 符 在 ′ ′ 中 所 以 里 面 的 var”但是因为是字符在''中所以里面的 varvar不可以替换
This is a $var
$ echo "This is a v a r " ; / / 打 印 出 var";//打印出 var";//var,因为字符在“”中是可以替换的
This is a test

$ echo date;//打印出时间
2017年 11月 06日 星期一 14:40:07 CST
$ $(bash)

$ echo $0
/bin/bash
$ $($0)

重要目录:
/bin、/sbin:链接到/usr/bin,存放linux一些核心的二进制文件,其中的指令能在shell上运行/boot
/boot:操作系统启动时要用到的程序
/dev:包含了所有Linux系统中使用的外部设备。但是则是只是相当于一个访问这些设备的端口
/ect/:存放系统管理时要用到的各种配置文件和子目录
/etc/rc.d:存放linux启动和关闭时要用到的脚本。
/home:普通永固的主目录
/lib、/lib64:链接到/usr/lib,存放系统及软件的需要的动态链接分享库
/mnt:这个目录让用户可以临时挂载其他的文件系统
/proc:虚拟的目录,是系统的内存的映射。可直接访问目录获取系统信息
/root:系统管理员的主目录
/srv:存放一些服务启动之后需要提取的数据
/sys:相当于一个有子文件夹的文件夹(没错哈)
/tmp:公用的临时文件用来存放目录
/usr:相当于用户中心吧
/usr/src:内核源代码的存放目录
/var:存放服务的日志信息

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值