WEB安全入门基础
来源:互联网 发布:淘宝网图片保护网址 编辑:程序博客网 时间:2024/04/29 00:44
1.1 URL的含义
URL是 uniform resource locator 的缩写,即统一资源定位器。
1.2URL的作用
统一资源定位器(URL)是一个识别Internet中哪里有信息资源,并且将Internet提供的服务统一编址的系统。
对(可以从互联网上得到的资源)的 位置 和访问方法 的一种简洁表示,是互联网上标准资源的地址。
互联网上每一个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
1.3 URL的结构
schema://host[:port#]/path/.../[?query-string][#anchor]
协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志
schema:底层协议(例如:http,https,ftp等)
host:服务器的域名或者IP地址
[:port#]:服务器端口,http默认端口是80(可省略),其他端口要指明。
path:访问资源的路径。
[?query-string]: 发送给http服务器的数据。
[#anchor]: 锚。
2.HTTP(Hyper Text Transfer Protocol)
2.1 HTTP是什么?
HTTP即超文本传输协议,是互联网上应用最广泛的一种网络协议。客户端和服务端沟通所遵守的协议。
2.2 HTTP报文
HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码,各个字段的长度是不确定的。HTTP有两类报文,请求报文和响应报文。
2.2.1请求报文2.2.2响应报文
2.3 HTTP常见请求方法
GET从指定的服务器中获取数据
POST提交数据给指定的服务器处理
DELETE通过http请求删除指定URL上的资源
OPTIONS返回服务器支持的HTTP方法
HEAD与GET请求类似,不同在于服务器只返回HTTP头部信息,没有页面内容
PUT上传指定URL的描述
TRACE
CONNECT转换为透明TCP/IP隧道的链接请求
GET方法:
使用GET方法时,查询字符串(键值对)被附加在URL地址后面一起发送到服务器:
/test/demo_form.jsp?name1=value1&name2=value2
GET特点:
GET请求能够被缓存
GET请求会被保存在浏览器的浏览记录中
GET请求的URL能够保存为浏览器书签
GET请求有长度限制
GET请求主要用以获取数据
POST方法:
使用POST方法时,查询字符串在POST信息中单独存在,和HTTP请求一起发送到服务器:
POST /test/demo_form.jsp HTTP/1.1
Host:w3school.com
name1=value1&name2=value2
POST特点:
POST请求不能被缓存下来
POST请求不会保存在浏览器浏览记录中
POST请求的URL无法保存为浏览器书签
POST请求没有长度限制
方法指什么?
方法就是客户端向服务器发起的请求命令。例如GET、POST、DELETE等
状态码及其含义?
1xx:指示信息--表示请求已接收,继续处理。
2xx:成功--表示请求已被成功接收、理解、接受。
3xx:重定向--要完成请求必须进行更进一步的操作。
4xx:客户端错误--请求有语法错误或请求无法实现。
5xx:服务器端错误--服务器未能实现合法的请求。
常见状态代码、状态描述的说明如下:
200 OK:客户端请求成功。
400 BadRequest:客户端请求有语法错误,不能被服务器所理解。
401Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用。
403 Forbidden:服务器收到请求,但是拒绝提供服务。
404 Not Found:请求资源不存在,举个例子:输入了错误的URL。
500 InternalServer Error:服务器发生不可预期的错误。
503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。在一次网络请求中,分别经历那些过程?
(a)浏览器从url中解析处服务器的主机名;(b)浏览器将服务器的主机名转换成服务器的的ip地址;(可能经过去dns服务器查询)
(c)浏览器将端口号(如果有的话)从url中解析出来;
(d)浏览器建立一条与web服务器的tcp连接;
(e)浏览器向服务器发送一条http请求报文;
(f)服务器向浏览器回送一条http响应报文;
(g)关闭连接,浏览器显示文档
http协议有哪些版本?
http/0.9这个版本有严重设计权限http/1.0广泛使用
http/1.0+ 非官方的http/1.0的扩展版本
http/1.1目前正在使用的版本,修复的相关设计缺陷,增加的相关特性
http-NG 将来使用与否正在商讨中
web中的一些结构组件
A:主要有代理、缓存、网关以及隧道!分别简介如下:代理:
代理位于客户端和服务器之间,接收所有客户端的HTTP请求,并把这些请求转发给服务器(可能会对请求进行修改之后转发)。对用户来说,这些应用程序就是一个代理,代表用户访问服务器。代理的主要作用有过滤、屏蔽等!(还有需要注意一点:代理既可以代表服务器对客户端进行响应,又可以代表客户端对服务器进行请求!)
缓存:
首先说明一下,缓存某种意义上来说也是一种代理服务器。它主要使用代理服务器对客户端进行响应。发送预先缓存好的资源的副本。这样会加快事务响应速度、同时也会减少服务器的负载、减轻带宽等问题!
网关:
网关是一种特殊的服务器,面对客户端时好像它就是服务器,而对于服务器,他又充当客户端的角色,它的主要作用是协议转换!例如HTTP/FTP网关。
隧道:
就是一个连接通道,用于在http信道上发送非http协议的资源。
Agent代理:
说白了就是我们平时所说的浏览器,以及web机器人、爬虫等!
- WEB安全入门基础
- Web安全基础入门笔记(一)Web简介
- web安全入门资料
- Web安全基础入门笔记(二)Web前端开发基础
- Web安全基础总结
- web安全基础
- web 前端安全基础
- web安全(入门篇)
- WEB安全入门(转)
- web安全测试基础1
- Web基础入门
- WEB开发入门基础
- Java Web基础入门
- 零基础如何学习 Web 安全?
- WEB安全基础之同源策略
- 零基础如何学习 Web 安全?
- 零基础如何学习Web安全?
- 零基础如何学习 Web 安全?
- maven 工程启动找不到 Spring ContextLoaderListener 的解决办法
- git撤销修改
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- Linux文件
- 中山大学算法课程题目详解(第十二周)
- WEB安全入门基础
- Java开发快递物流项目(6)
- 数据结构实验之图论二:图的深度遍历
- 创建RDB二进制文件的三种方式
- 测试瓶颈与行业的相关性
- 在前端使用JSON两种常用场景的分析
- On the difficulty of training Recurrent Neural Networks中RNN完美复现
- 百度地图通过地址获取经纬度
- IO-字节流的使用