页面
静态网页
过程:
1.用户通过web浏览器HTTP协议向web服务器发送一个响应请求,告诉web服务器要浏览这个网站的哪个页面
2.web服务器根据用户的响应请求返回一个html页面给用户,经过浏览器渲染解析呈现在用户眼前
注意点:
1.静态页面是没有数据库文件的,所以不能连接数据库
2.静态web页面主要通过html代码开发设计
3.部分静态web页面为了页面好看,使用了大量js代码,所以静态web页面打开速度慢
伪静态页面
实际上还是动态页面,只是说通过特定的技术手段将含有参数的动态页面url改写成静态页面的样式,虽然后缀可能表现为.html、.htm或目录格式,看似与静态页面无异,但实际上背后依赖于服务器实时生成的页面内容
也是消耗服务器的资源的,比静态页面的消耗资源得多
动态页面
在动态web页面中,依然要通过web服务器的http协议或https协议响应才能返回结果给用户,用户所有请求都必须通过web服务器处理才能实现。
如果用户的响应请求是静态页面,只需要响应请求web服务器从系统中调出用户响应的内容,将内容返回给客户端浏览器进行处理,再返回给用户。
如果用户响应请求的是动态页面资源,例如.jsp/.asp/.aspx、/.php等,
过程:
1.先将用户请求发送给web服务器
2.web服务器再从数据库调出有户请求的数据
3.调出数据后将所需要展示给用户的内容发送给服务器
4.最后通过web服务器将需要展示给用户的内容返回给用户浏览器解析执行,展示给用户
URL
统一资源定位符,俗称网址,网页地址
protocol://hostname [:port] /path/ [;parameters] [?query]
protocol 协议,一般是https、http、ftp等
hostname 主机地址,也可以是域名,或者ip地址
port 端口 http协议默认端口是:80端口
path 路径 网络资源在服务器中的指定路径
parameter 参数 如果要向服务器传入参数,在这部分输入query 查询字符串 如果需要从服务器那里查询内容,在这里编辑,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开
例子:
https://www.example.com:8080/path/to/resource?name=value&search=query
http://163.com/content/test/test.php?name=serach&user=admin&id=1
http://湖南省.长沙市.湖南xxxx院id?货物=零食大礼包&收件人=李华&手机号=123456789
HTML
<!DOCTYPE html> 声明为 HTML5 文档 <html> 元素是 HTML 页面的根元素 <head> <meta charset="utf-8"> 元素包含了文档的元(meta)数据,这里定义网页编码格式为 utf-8 <title>网页学习</title> 元素描述了文档的标题 </head> <body> 元素包含了可见的页面内容 <h1>我的第一个标题</h1> 元素定义一个大标题 <p>我的第一个段落。</p> 元素定义一个段落 </body> </html>
例子:
<!DOCTYPE html> <html> <head> <meta charset='utf-8'> <title>章若楠照片</title> </head> <body> <h1>标题一: 章若楠,一个能让众多男生想起初恋,或者是想起美好或者说不美好的初高中甚至是大学岁月的青葱岁月的感情的女子</h1> <h2>标题二: 不知从何时起,我已经不算是一个学生了</h2> <h3>标题三: 但是心态还是很像一个学生</h3> <h4>标题四: 典型的人老心不老</h4> <h5> 标题五:华图教育</h5> <p>段落: 孙杨,男,1991年12月1日出生于浙江省杭州市,国际级运动健将 [199],中国男子游泳运动员,主攻中长距离自由泳。</p> <a href="https://pic1.zhimg.com/v2-f78ec6ff88ecc5cd977be5598cbd57d4_r.jpg">章若楠壁纸1</a> <a href="https://cn.bing.com/images/search?q=%E7%AB%A0%E8%8B%A5%E6%A5%A0%E7%94%B5%E8%84%91%E5%A3%81%E7%BA%B8&form=IQFRBA&id=27CBFF48A2C7152489C5317FE113F79D3C56FB69&first=1&disoverlay=1">章若楠壁纸</a> <br>换行,单标签<br> 这个也是换行,单标签 <hr> <img src="https://img-s-msn-com.akamaized.net/tenant/amp/entityid/AA1piDdI.img?w=534&h=318&m=6&x=177&y=145&s=140&d=140"> </body> </html>
标签简介
常见双标签 常见单标签
<html></html> <br />
<head></head> <!--换行-->
<title></title> <hr />
<body></body> <!--水平分隔线-->
<h1></h1> <meta />
<p></p> <img />
<div></div>
<a></a>
<ul></ul>
嵌套关系 并列关系
<head> <head></head>
<title> </title> <body></body>
</head>
HTTP
超文本协议
访问Web应用过程
1.在浏览器地址栏输入URL访问
2.浏览器进行域名解析获得IP地址
3.解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立TCP连接
4.浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器
5.服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器
6.浏览器将该 html 文本进行解析并显示内容
HTTP的事务处理
1.客户端与服务器端建立连接
2.客户端向服务器端发送请求
3.服务器端向客户端回复响应
4.断开连接
HTTP请求方法
方法(操作) | 含义 |
GET | 请求获取Request-URI(请求地址)所标识的资源。(请求读取由url所标志的信息) |
POST | 在Request-URI所标识的资源后附加新的数据。(给服务器添加信息,例如注释) |
HEAD | 请求获取由Request-URI所标识的资源的响应消息报头 |
PUT | 请求服务器存储一个资源,并用Request-URI作为其标识 |
DELETE | 请求服务器删除Request-URI所标识的资源 |
TRACE | 请求服务器回送收到的请求信息,主要用于测试或诊断 |
CONNECT | 用于代理服务器 |
OPTIONS | 请求查询服务器的性能,或者查询与资源相关(特定)的选项和需求 |
GET 和 POST 的区别
原理区别
URL全称是资源描述符,一个URL地址用于描述一个网络上的资源,HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查 ,改 ,增 ,删 4个操作。
GET一般用于获取/查询 资源信息
POST一般用于更新 资源信息
GET用于信息获取时应该是安全的,幂等的。
1)安全:该操作用于获取信息而非修改信息。它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。
2)幂等:对同一URL的多个请求应该返回同样的结果。
POST表示可能修改服务器上的资源的请求
HTTP报文
第一部分:请求行,用来说明请求类型,要访问的资源以及所使用的HTTP版本
第二部分:请求头部,紧接着请求行(即第一行)之后的部分,用来说明服务器要使用的附加信息
第三部分:请求数据也叫主体,可以添加任意的其他数据。
第一部分:状态行,由HTTP协议版本号, 状态码, 状态消息 三部分组成。
第二部分:消息报头,用来说明客户端要使用的一些附加信息
第四部分:响应正文,服务器返回给客户端的文本信息。
请求首部 | 描述 |
Accept | 指定客户端接受信息的类型(MIME类型) |
Connection | 允许C/S指定与请求/响应连接的有关选项 |
Host | 请求的服务器的主机名和端口号 |
Referer | 包含一个URL,用户从该URL代表的页面出发访问当前请求的页面 |
User-Agent | 发起请求的应用程序名称 |
Accept- Encoding | 告诉服务器能够接受哪些内容编码方式 |
Content- Length | 表示请求消息正文的长度 |
Cookie | 客户端提供给服务器的认证数据 |
cookie与session的区别
- cookie数据存放在客户的浏览器(客户端)上,session数据放在服务器上,但是服务端的session的实现对客户端的cookie有依赖关系的;
- cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session;
- session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能。考虑到减轻服务器性能方面,应当使用COOKIE;
- 单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能超过3K
可以试试用BP来抓个包,自己看一下吧
余着了......