web—2

article/2025/10/14 23:59:48

2.基础入门——数据包拓展

网站解析对应

  1. 攻击层面?

    源码,搭建平台,系统,网络层等

  2. 安全问题?

    目录,敏感文件,弱口令,IP以及域名

HTTP/S—数据包

qubei

  1. • https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
  2. • http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  3. • http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  4. • http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份 认证的网络协议,比http协议安全。

通信过程

建立链接——>发送请求数据包——>返回响应数据包——>关闭连接

    • 浏览器建立与web服务器直接的连接
    • 浏览器将请求数据打包(生成请求数据包)并发送到web服务器
    • web服务器将处理结果打包(生成响应数据包)并发送给浏览器
    • web服务器关闭连接

Request请求数据包数据格式

  1. 请求行

    三个标记组成

    请求方法、请求URL和HTTP版本,它们用空格分隔

    GET /index.html HTTP/1.1

    1. 请求方法

      HTTP 规划定义了8种可能的请求方法:

      1. GET:检索URL中标识资源的一个简单请求
      2. HEAD:与GET方法相同,服务器只返回状态行和头标,并不返回请求文档
      3. POST:服务器接收被写入客户端输出流中数据的请求
      4. PUT:服务器保存请求数据作为指定URL新内容的请求
      5. DELETE:服务器删除URL中命令的资源的请求
      6. OPTIONS:关于服务器支持的请求方法信息的请求
      7. TRACE:web服务器反馈HTTP请求和其头标的请求
      8. CONNECT:已文档化,但当前未实现的一个方法,预留做隧道处理
  2. 请求头

    一些键值对,浏览器与web服务器之间都可以发送,特殊的某种含义

    1. HOST:主机或域名地址
    2. Accept:指浏览器或其他客户可以接受的MIME文件格式,servlet可以根据它判断并返回适当的文件格式
    3. User-Agent:是客户浏览器名称
    4. Host:对应网址URL中的web名称和端口号
    5. Accept-Language:指出浏览器可以接受的语言种类,如en或者en-us,指英语
    6. connection:用来告诉服务器是否可以维持固定的HTTP连接、http是无连接的,HTTP/1.1使用Keep-Alive为默认值,这样当浏览器需要多个文件时(比如一个HTML文件和相关的图形文件),不需要每次都建立连接
    7. Cookie:浏览器用这个属性向服务器发送Cookie。Cookie是在浏览器中寄存的小型数据体,他可以记载服务器相关的用户信息,也可以用来实现会话功能
    8. Referer:表明产生请求的网页URL,这个属性可以用来跟踪web请求是从什么网站来的。如比从网页/icconcept/index.jsp中点击一个链接到网页/icwork/search,再向服务器发送的GET/icwork/search中的请求中,Referer是http://hostname:8080/icconcept/index.jsp
      Content-Type :用来表明request的内容类型,可以用HttpServeletRequest的getContentType()方法取得。
    9. Accept-Charset:指出浏览器可以接受的字符编码
    10. Accept-Encoding:指出浏览器可以接受的编码方式。编码方式不同于文件格式,它是为了压缩文件传递速度。浏览器在接收到web响应之后再解码,然后再检查文件格式
  3. 空行

    请求头与请求体之间用一个空行分开

  4. 请求体

    1. 要发送的数据(一般post提交时候会用)
      使用POST传送,最常使用的是Content-Type和Content-Length头标
  5. request请求数据包

GET / HTTP/1.1

Host: www.baidu.com

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

Connection: close

Cookie: BAIDUID=DF85C12211175FD67D599BC8A06EB4B2:FG=1; BIDUPSID=DF85C12211175FD6D8AC7AF7356EF11F; PSTM=1571798152; BD_UPN=13314752; COOKIE_SESSION=251208_1_7_5_8_6_0_0_5_5_0_0_251207_0_1_0_1580795676_1580539587_1580795675%7C9%235096250_55_1580539585%7C9; BDRCVFR[Fc9oatPmwxn]=mk3SLVN4HKm; delPer=0; BD_CK_SAM=1; PSINO=1; H_PS_PSSID=1465_21124_26350_30496; H_PS_645EC=d0f32cF5kQJ3ZcmKhkebQhVlmvrVbJe34vcNJntPlQBU7X%2BEF0T1MJCfpt5UZln7q4OU; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; BD_HOME=0

Upgrade-Insecure-Requests: 1

Cache-Control: max-age=0

Response返回数据包格式

  1. Response返回数据包数据格式
    一个响应由四个部分组成:状态行、响应头标、空行、响应数据
  2. 状态行:协议版本,数字形式的状态代码和状态描述,各元素之间用空格进行分割
    HTTP响应码
    1XX:信息,请求收到,继续处理
    2XX:成功,行为被成功的接收、理解和采纳
    3XX:重定向,为了完成请求,必须进一步执行的动作
    4XX:客户端错误
    5XX:服务器错误
    200:存在文件
    403:存在文件夹
    3XX:均可能存在
    404:不存在文件及文件夹
    500:均可能存在
  3. 响应头标:包含服务器类型、日期、长度、内容类型等
    像请求头标一样,它们指出服务器的功能,标识出响应数据的细节
  4. 空行:响应头与响应体之间用空行隔开
    最后一个响应头标之后是一个空行,发送回车符和退行,表面服务器一下不再有头标。
  5. 响应数据:浏览器会将实体内容中额数据取出来,生成相应的页面
    HTML文档和图像等,也就是HTML本身

http://chatgpt.dhexx.cn/article/QgKcRVis.shtml

相关文章

Python 3 web开发

文章目录 web开发发展历程HTTP协议简介实验环境HTTP内容简介HTTP请求HTTP格式推荐文档 HTML简介CSS简介JavaScript简介小结 WSGI接口简介运行WSGI服务小结 web框架常见Python web框架小结 使用模板小结 总结推荐文档实验文件 web开发发展历程 Python有上百种web开发框架&#x…

WEB:web2

背景知识 代码审计 题目 由上述可知,这段代码定义了一个函数encode,接受一个字符串参数$str,并返回对其进行加密后的结果 加密算法包括: 使用strrev函数将字符串进行翻转;对翻转后的每个字符,将其ASCII值…

Web3.py 学习(一)

一、什么是Web3.py Web3.py is a python library for interacting with Ethereum. Its API is derived from the Web3.js Javascript API and should be familiar to anyone who has used web3.js. Web3.py是连接以太坊的python库,它的API从web3.js中派生而来。如果…

Web基础(三)Python Web

文章目录 Python Web基础1. WSGI1.1 概述1.2 实现原理1、WSGI Server/gateway2、WSGI Application3、WSGI MiddleWare 1.3 测试 WSGI服务器代码简析 1.4 实现WSGI服务器1.5 生产环境中的Web服务器[Gunicorn](https://github.com/benoitc/gunicorn "Gunicorn")[uWSGI …

【小沐学Python】Python实现Web服务器(web2py)

🍺基于Python的Web服务器系列相关文章编写如下🍺: 🎈【Web开发】Python实现Web服务器(Flask快速入门)🎈🎈【Web开发】Python实现Web服务器(Flask案例测试)&a…

Python——Web2py开发实战:开发一个自己的网站(新手入门级)

目录 一、web2py 二、使用步骤 1.找到一个可以帮助网站运营的工具——pythonanywhere 1)创建账户; 2)创建网站 3) 网站管理 2.我的开端 1)删除example app 2)创建新的app sophia 3)修改参数 4&a…

web2py框架

介绍: web2py是一种免费的、开源的web开发框架,采用python语言编写,并且可以使用python编程。 MVC模式:模型Model、视图View、控制器Controller 一、安装 pip install web2py 二、创建项目(Pycharm) 1.选择File->New Project-&…

web2py入门教程(1)

IDE:PyCharm 1、创建web2py项目 在下图左侧选中Web2Py,在右侧填写项目路径和应用名称,我这里是第一次创建,所以直接点击"Create"创建项目,此时会自动下载Web2Py项目框架(如果不是第一次创建&am…

Gitlab 隐藏注册功能

1.用管理员账号登录 2.Admin Area 3.Settings 4.把Sign-up enabled的勾去掉 5.退出重新登录就可以看见只有登录没有注册选项了

GitLab屏蔽用户注册方法:

以管理员身份登录进GitLab平台 点击【Admin Area】 点击【Settings】 页面控制【Sign-up Restrictions】 默认的GitLab登录界面是有注册功能的 将【Sign-up enabled】的勾选框去掉,即取消掉注册功能 滚动到页面最底端,点击【Save】保存按钮&#xff0c…

gitlab安装注册记录——gitlab(一)

一、下载安装(widows版本) git下载地址:https://git-scm.com/download/win 官网下载速度慢的话可以到管家中下载,速度快 安装好右键就可看到 二、注册gitlab账户 官方网址:https://about.gitlab.com/ 如果注册过gi…

配置gitLab的邮件服务,并开启邮箱的验证通知功能

上一篇,讲了 在linux上搭建部署gitlab服务器 这篇讲一下 配置gitLab的邮件服务 为什么需要开启gitLab的邮件服务呢?我觉得至少有以下两个原因 1、搭建好gitLab服务器后,当有新的开发人员需要加入开发时,就可以注册账号了 但是…

GitLab之不允许用户注册-yellowcong

Gitlab默认是运行用户注册的,但是我们现在不想别人注册gitlab,解决的方案,就是在管理员里面配置允许注册。 注册界面 默认情况下,gitlab是允许用户注册的,但是现在我们需要关闭这个注册。 登录到管理 设置Settings,设置登录信…

2020-08-31 ubuntu18.04下安装gitlab,以及使用邮箱注册

最近在ubuntu18.04系统下安装gitlab,把安装之路记录下来 1、安装并配置必要的依赖关系 sudo apt-get update sudo apt-get install -y curl openssh-server ca-certificates 2、接下来,安装Postfix发送通知邮件,因为会用到服务器的外部DNS…

创建gitlab账号并加入群组

先说背景:我想创建个gitlab账号,并且申请加入一个已经存在的项目组,之前只使用过github,没有gitlab账号,所有我找到如下图片的网站,反复注册之后还是失败,用github账号登录,但项目组…

篇二:部署GitLab-创建令牌与GitLab凭证

篇二:部署GitLab ​ 在Kubernetes集群中完成GitLab服务的部署,完成后创建一个公开项目,这里起个名叫springcloud,以NodePort的方式映射了80端口到宿主机的30888,并在gtilab中上传项目。 3.1部署GitLab 下载并解压Je…

gitlab 屏蔽注册功能

以管理员身份登录进GitLab平台点击【Admin Area】 在sign-up Restrictions 取消sign-up enabled保存退出即可 默认的GitLab登录界面是有注册功能的 将【Sign-up enabled】的勾选框去掉,即取消掉注册功能

GitLab CI/CD 基础入门 Runner注册配置使用

特点 开源: CI/CD是开源GitLab社区版和专有GitLab企业版的一部分。(极狐)易于学习: 官方具有详细的学习操作文档。无缝集成: CI/CD是GitLab的一部分,支持从计划到部署,具有出色的用户体验。可扩展: 可以根据需要添加任…

记部署gitlab出现的问题

一、创建gitlab用户时,用户没收到邮件 排除步骤: 使用 gitlab.rb 里面配置的邮件地址向创建 gitlab 用户时配置的邮件地址发送邮件 收件方能正常收到邮件,排除收件方配置了拒收邮件的可能性。使用 gitlab-rails 命令进行测试 gitlab-rails …