web基础与HTTP协议 目录 web基础与HTTP协议 web基础 域名概述 HTML概述 HTML基本标签 HTML语法规则 HTML文件结构 头标签中常用标签 内容标签中常用标签 静态网页与动态网页 静态网页 动态网页 动态网页语言 目前常用的动态网页编程语言如下 HTTP协议 http协议概述 HTTP请求流程图 HTTP版本区别 HTTP方法 GET和POST比较 HTTP状态码 解决502错误的几种方法 HTTP请求流程分析 请求报文 常用的请求头 响应报文 常用的响应头 web基础…
一.web工作方式 我们平时浏览网页的时候,会打开浏览器,输入网址后按下回车键,然后就会显示出你想要浏览的内容.在这个看似简单的用户行为背后,到底隐藏了些什么呢?对于普通的上网过程,系统其实是这样做的:浏览器本身是一个客户端,当你输入URL的时候,首先浏览器会去请求DNS服务器,通过DNS获取相应的域名对应的IP,然后通过IP地址找到IP对应的服务器后,要求建立TCP连接,等浏览器发送完HTTP Request(请求)包后,服务器接收到请求包之后才开始处理请求包,服务器调用自身服务,返回HTTP…
介绍 表单是我们平常编写Web应用常用的工具,通过表单我们可以方便的让客户端和服务器进 行数据的交互.对于以前开发过Web的用户来说表单都非常熟悉.表单是一个包含表单元素的区域.表单元素是允许用户在表单中(比如:文本域.下拉列表. 单选框.复选框等等)输入信息的元素.表单使用表单标签(<form>)定义. 1.处理表单的输入 先看一个例子吧. 注意:所有文件要放在src文件夹下在之前文章的代码基础之下,创建一个view文件夹,用来存放界面的代码文件,在view文件中创建一个login.ctpl…
Go 标记 Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号.比如下面的hello world就是由 6 个标记组成: 行分隔符 在 Go 程序中,一行代表一个语句结束.每个语句不需要像 C 家族中的其它语言一样以分号 ; 结尾,因为这些工作都将由 Go 编译器自动完成. 如果你打算将多个语句写在同一行,它们则必须使用 ; 人为区分,但在实际开发中并不鼓励这种做法. 注释 注释不会被编译,每一个包应该有相关注释. 单行注释是最常见的注释形式,你可以在任何地方使用以 // 开…
做技术的总是有些拗.这么多年一直在.net的框框里打转转.直到现在市场上.net工作越来越难找,项目越来越老才发现不做出改变不行了.就从学习Go开始吧. Go语言的特点 简洁.快速.安全 并行.有趣.开源 内存管理.数组安全.编译迅速 Go 语言用途 Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言. 对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率.它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了.…
Go天生就是为了支持良好的项目管理体验而设计的. 包 在软件工程的实践中,我们会遇到很多功能重复的代码,比如去除字符串首尾的空格.高质量软件产品的特点就是它的部分代码是可以重用的,比如你不必每次写个函数去去除字符串首尾的空格. 我们上面讲过变量,结构体,接口和函数等,事实上所谓的包,就是把一些用的多的这些变量,结构体,接口和函数等统一放置在一个逻辑块中.并且给它们起一个名字,这个名字就叫做包名. 例如我们上面用的最多的fmt包,这个包提供了很多格式化输出的函数,你可以在自己的代码中引用这个包,来…
在 Go 编程语言中,数据类型用于声明函数和变量. 数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存. Go 语言按类别有以下几种数据类型: 序号 类型和描述 1 布尔型 布尔型的值只可以是常量 true 或者 false.一个简单的例子:var b bool = true. 2 数字类型 整型 int 和浮点型 float32.float64,Go 语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码. 3 字符串类…
运算符用于在程序运行时执行数学或逻辑运算. Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 接下来让我们来详细看看各个运算符的介绍. 算术运算符 下表列出了所有Go语言的算术运算符.假定 A 值为 10,B 值为 20. 运算符 描述 实例 + 相加 A + B 输出结果 30 - 相减 A - B 输出结果 -10 * 相乘 A * B 输出结果 200 / 相除 B / A 输出结果 2 % 求余 B % A 输出结果 0 ++ 自增 A++…
一.变量定义 所谓的变量就是一个拥有指定名称和类型的数据存储位置. //看一个例子 package main import ( "fmt" ) func main() { var x string = "hello world" fmt.Println(x) } 变量的定义首先使用var关键字,然后指定变量的名称x,再指定变量的类型string,在本例中,还对变量x进行了赋值,然后在命令行输出该变量.Go这种变量定义的方式和其他的语言有些不同,但是在使用的过程中,你…
基本上到这里的时候,就是上了一个台阶了.Go的精华特点即将展开. 结构体定义 上面我们说过Go的指针和C的不同,结构体也是一样的.Go是一门删繁就简的语言,一切令人困惑的特性都必须去掉. 简单来讲,Go提供的结构体就是把使用各种数据类型定义的不同变量组合起来的高级数据类型.闲话不多说,看例子: type Rect struct { width float64 length float64 } 上面我们定义了一个矩形结构体,首先是关键是type表示要定义一个新的数据类型了,然后是新的数据类型名称R…
Print() 函数将参数列表 a 中的各个参数转换为字符串并写入到标准输出中. 非字符串参数之间会添加空格,返回写入的字节数. func Print(a ...interface{}) (n int, err error) Println() 函数功能类似 Print,只不过最后会添加一个换行符. 所有参数之间会添加空格,返回写入的字节数. func Println(a ...interface{}) (n int, err error) Printf() 函数将参数列表 a 填写到格式字符串…
如果说Go有什么让人一见钟情的特性,那大概就是并行计算了吧. 做个题目 如果我们列出10以下所有能够被3或者5整除的自然数,那么我们得到的是3,5,6和9.这四个数的和是23.那么请计算1000以下(不包括1000)的所有能够被3或者5整除的自然数的和. 这个题目的一个思路就是: (1) 先计算1000以下所有能够被3整除的整数的和A,(2) 然后计算1000以下所有能够被5整除的整数和B,(3) 然后再计算1000以下所有能够被3和5整除的整数和C,(4) 使用A+B-C就得到了最后的结果.…
定义 所谓指针其实你可以把它想像成一个箭头,这个箭头指向(存储)一个变量的地址. 因为这个箭头本身也需要变量来存储,所以也叫做指针变量. Go的指针不支持那些乱七八糟的指针移位.它就表示一个变量的地址.看看这个例子: package main import ( "fmt" ) func main() { var x int var x_ptr *int x = x_ptr = &x fmt.Println(x) fmt.Println(x_ptr) fmt.Println(*x…
什么是函数 函数,简单来讲就是一段将输入数据转换为输出数据的公用代码块.当然有的时候函数的返回值为空,那么就是说输出数据为空.而真正的处理过程在函数内部已经完成了. 想一想我们为什么需要函数,最直接的需求就是代码中有太多的重复代码了,为了代码的可读性和可维护性,将这些重复代码重构为函数也是必要的. 函数定义 Go 语言函数定义格式如下: func function_name( [parameter list] ) [return_types] { 函数体 } 函数定义解析: func:函数由 f…
在上面的章节里面,我们讲过Go内置的基本数据类型.现在我们来看一下Go内置的高级数据类型,数组,切片和字典. 数组(Array) 数组是一个具有相同数据类型的元素组成的固定长度的有序集合.比如下面的例子 ]int 表示数组x是一个整型数组,而且数值的长度为5. Go提供了几种不同的数组定义方法. 最基本的方式就是使用var关键字来定义,然后依次给元素赋值.对于没有赋值的元素,默认为零值.比如对于整数,零值就是0,浮点数,零值就是0.0,字符串,零值就是””,对象零值就是nil. package…
Go语言的控制结构关键字只有if..else if..else ,for 和 switch. 而且在Go中,为了避免格式化战争,对程序结构做了统一的强制的规定.看下下面的例子. 请比较一下A程序和B程序的不同之处 A程序 package main import ( "fmt" ) func main() { fmt.Println("hello world") } B程序 package main import ( "fmt" ) func ma…
教程内容:GO语言资料Golang友团无闻Go语言编程基础Golang友团无闻Go语言Web基础教程 Go语言Web基础教程列表:[Go Web基础]12Go Web 扩展学习.mp4[Go Web基础]11简易的 RPC 实现.mp4[Go Web基础]10自建 HTTP 中间件.mp4[Go Web基础]09国际化支持.mp4[Go Web基础]08文章附件上传.mp4[Go Web基础]07为文章添加标签.mp4[Go Web基础]06评论与分类显示.mp4[Go Web基础]05文章的添…
<网络对抗技术>Exp8 Web基础 Week11-12 一.实验目标与内容 1.实践内容 (1).Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. (2).Web前端javascipt 理解JavaScript的基本功能,理解DOM.编写JavaScript验证用户名.密码的规则. (3).Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密码.建表 (4).Web后端:编写PHP网页,连…
在上一篇<基于HT for Web矢量实现3D叶轮旋转>一文中,我略微提了下HT for Web基础动画的相关用法,但是讲得不深入,今天就来和大家分享下HT for Web基础动画的相关介绍及用法. 先上一段枯燥的理论知识,大家混个眼熟. 在HT的数据模型驱动图形组件的设计架构下,动画可理解为将某些属性由起始值逐渐变到目标值的过程, HT提供了ht.Default.startAnim的动画函数,其示例代码如下. ht.Default.startAnim({ frames: 12, // 动画帧…
https是如何实现安全通信的 如果有不正确的地方,还望指出! web基础系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 回顾 总结几个概念(具体描述可以看上一篇文章) 数字签名和数字证书的应用 场景是这样的:rose给jiajun写情书 刚开始用非对称加密的方式,rose用jiajun的公钥对情书进行加密,那么这样的话,如果Billy截获到情书,也无法对情书进行解密,因为只有jiajun有私钥,除非私钥泄露了 jiajun收到,要回信给rose,这个时候jiajun要…
Exp 8 Web基础 目录 基础问题回答 (1)什么是表单 (2)浏览器可以解析运行什么语言. (3)WebServer支持哪些动态语言 实践过程记录 1.Web前端:HTML 2.Web前端javascipt 3.Web后端:MySQL基础 4.Web后端:编写PHP网页 5.最简单的SQL注入,XSS攻击测试 实验总结与体会 基础问题回答 (1)什么是表单 表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到…
20155205 郝博雅 Exp 8 Web基础 一.实验目标 (1).Web前端HTML(0.5分) 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. (2).Web前端javascipt(0.5分) 理解JavaScript的基本功能,理解DOM.编写JavaScript验证用户名.密码的规则. (3).Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密码.建表(0.5分) (4).Web后端:编写PHP网…
Web基础学习---HTML 第一天 1 HTML标签 2.CSS Web开发基础HTML好吧离开Python几天...如何学好前端?? 多去看别人的网站.多看.多写.多练,(知乎.36Kr.)多练就好前端是啥.为什么要学.如何学 ======从零开始=====千万别掉队====1.标签有些不需要用的.20个基础,其余的浏览2.学不好,就是在给自己挖坑 HTML 1.一套规则,浏览器认识的规则. 2.开发者: 学习Html规则 开发后台程序: - 写HTML文件(充当模板的作用) - 数据库获取…
2017-2018-2 20155314<网络对抗技术>Exp8 Web基础 目录 实验内容 实验环境 基础问题回答 预备知识 实验步骤 1 macOS下Apache的配置 2 macOS下PHP的配置 2.1 开启PHP 2.2 修改Apache目录 2.3 PHP简单编程 3 macOS下MySQL的安装与配置 3.1 安装 3.2 查看MySQL服务是否开启 3.3 配置环境变量 3.4 基本操作 4 phpMyAdmin for mac:让MySQL可视化 5 基于Eclipse+To…
2017-2018-2 『网络对抗技术』Exp8:Web基础 --------CONTENTS-------- 一.原理与实践说明 1.实践具体要求 2.基础问题回答 二.实践过程记录 1.Web前端:HTML 2.Web前端:javascipt 3.Web后端:MySQL基础 4.Web后端:编写PHP网页 5.最简单的SQL注入,XSS攻击测试 三.实践总结及体会 附:参考资料 一.原理与实践说明 1.实践具体要求 (1)Web前端HTML(0.5分) 能正常安装.启停Apache.理解HT…
20155218<网络对抗>Exp8 Web基础 1.基础问题回答 1.什么是表单? 表单是一个包含表单元素的区域,表单元素是允许用户在表单中(比如:文本域.下拉列表.单选框.复选框等等)输入信息的元素,表单在网页中主要负责数据采集功能,一个表单有三个基本组成部分:表单标签.表单域.表单按钮: 2.浏览器可以解析运行什么语言? 支持HTML(超文本标记语言).XML(可扩展标记语言)以及Python.PHP.JavaScript.ASP等众多脚本语言. 3.WebServer支持哪些动态语言?…
实验八 Web基础 1.安装apache sudo apt-get install apache2 2.启动apache service apache2 start 3.使用netstat -tupln |grep 80命令查看80端口是否被占用,如果已被占用,修改配置文件ports.conf中的内容以修改监听端口vim /etc/apache2/ports.conf 4.重启apacheservice apache2 restart 5.测试apache是否正常工作 浏览器打开 127.0.0…
20155223 Exp8 WEB基础实践 基础问题回答 什么是表单? 表单是一个包含表单元素的区域. 表单元素是允许用户在表单中(比如:文本域.下拉列表.单选框.复选框等等)输入信息的元素. 表单使用表单标签定义. 浏览器可以解析运行什么语言? 超文本标记语言:HTML 可扩展标记语言:XML 还有各类脚本语言. WebServer支持哪些动态语言? 这几种语言:ASP.JSP.PHP. 实践内容 Web前端HTML 欲运行Web,首先先确认本机安装有apache2.输入命令:apache2…
2017-2018-2 20155231<网络对抗技术>实验八:Web基础 实验要求: Web前端HTML(0.5分) 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. Web前端javascipt(0.5分) 理解JavaScript的基本功能,理解DOM.编写JavaScript验证用户名.密码的规则. Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密码.建表(0.5分) Web后端:编写PHP网页,连…
20155235 <网络攻防> 实验八 Web基础 实验内容 Web前端HTML(0.5分) 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. Web前端javascipt(0.5分) 理解JavaScript的基本功能,理解DOM.编写JavaScript验证用户名.密码的规则. Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密码.建表(0.5分) Web后端:编写PHP网页,连接数据库,进行用户认证(1…