Web之http学习笔记
HTTP
http文本传输协议(HyperText Transfer Protocol) ,遵循请求/响应(request/response)模型
url
标准格式:协议://服务器域名[:端口]/路径/[?查询]
协议
http or https
服务器域名
也可以是ip
端口
并非必须,若省略则是默认80端口
路径
目录or文件地址
查询
从?开始,提供参数名和参数值
http请求
请求行
| 请求方法 | 描述 |
|---|---|
| GET | 请求页面信息 |
| HEAD | 返回响应行和响应头,无响应正文 |
| POST | 向指定数据提交数据,可能导致新的资源建立和已有资源的修改 |
| PUT | 传送数据,进行存储和替换 |
| DELETE | 请求删除页面 |
| CONNECT | 将连接改为管道方式的代理服务器 |
| OPTIONS | 查看服务器性能 |
| TRACE | 回显服务器请求,用于测试和诊断 |
请求方法 请求路径 协议版本
请求方法
请求头
包含许多有关客户端环境和请求正文的有用信息
| Name | Content |
|---|---|
| Host | 服务器域名 or ip |
| Cookie | 用户信息 |
| User-Agent | 浏览器信息 |
| Accept | 可接受的内容类型 |
| Accept-Language | 优先选择的语言 |
| 等 | .. |
请求正文
负载
http响应
响应行
协议 状态码 状态消息 eg:HTTP/1.1 200 OK
状态码
| 分类 | 分类描述 |
|---|---|
| 1XX | 信息,服务器收到请求,需要继续执行操作 |
| 2XX | success |
| 3XX | 重定向,需要进一步操作完成请求 |
| 4XX | 客户端错误 |
| 5XX | 服务器错误 |
具体看
[RFC(英文)]
200 成功:文件存在。
404 未找到:服务器中不存在该文件。
301 永久移动:请求的网页已永久移动到新位置,这是重定向到给定的URL。
302 临时移动:服务器目前从不同位置的网页响应请求。
303 查看其他位置:请求者应当对不同的位置使用单独的GET请求来检索响应时,服务器返回此代码。
401 未授权:访问此文件需要身份验证,对于需要登录的网页,服务器可能返回此响应。
403 禁止:请求有效但服务器拒绝响应。
429禁止:Too Many Requests超过了频次限制
500 服务器内部错误:服务器遇到错误,无法完成请求。
响应头
不能放在响应行中的附加响应信息,相关服务器的信息,对Request-URI所标识的资源进行下一步访问的信息
响应正文
Cookie
定义:
Cookie是由Web服务器发送到客户端(通常是用户的Web浏览器)的一小段数据。这个数据以键值对的形式存储,并且每次客户端发起HTTP请求时,浏览器会自动附带已存储的、与该特定网站相关的Cookie信息发送给服务器。
内容:
Cookie的内容可以包含各种类型的数据,例如用户ID、访问过的网页、购物车信息、用户设置等。由于安全性和隐私保护的原因,Cookie的大小有限制,且对于敏感信息通常需要加密处理。
用途:
- 会话管理:Cookie最常见的是用来维持用户的会话状态,比如在用户登录后,服务器通过设置一个包含用户ID的Cookie来记住这个用户已经登录,下次用户访问网站时,浏览器会自动带上这个Cookie,服务器就能识别出这是同一个用户,从而保持其登录状态。
- 个性化服务:Cookie可以记录用户的偏好设置,如语言选择、主题风格等,以便下次访问时直接提供个性化的服务。
- 追踪行为:一些网站利用Cookie收集用户在网站上的浏览历史、点击行为等数据,用于分析用户行为、优化网站功能或推送相关广告。
生命周期:
Cookie有有效期,分为会话级别的Cookie(浏览器关闭即失效)和持久化Cookie(设置了过期时间,即使关闭浏览器也会在硬盘上保留,直到过期或被手动删除)。
隐私和安全性:
由于Cookie可能涉及到用户隐私信息,因此现代浏览器都提供了控制Cookie的选项,用户可以选择接受所有Cookie、拒绝所有Cookie,或仅接受来自信任站点的Cookie。同时,开发者在设计和使用Cookie时也需要遵循相关的隐私政策和法律法规,确保用户数据的安全。
Session
实现原理
组成:
- session id 用户的唯一标识,随机生成
研究随机
- session file 存储session,文件名称:sess_Session_id
格式:sess_d3eom13a9r9pnfssaklnv
- Session data 保存序列化后的用户数据
PHP中的Session设置函数
session传输
通过cookie直接传输
当cookie被禁用时,通过url重写实现传输session
表单隐藏字段
- 不是很懂
Web之http学习笔记的更多相关文章
- Web安全测试学习笔记-DVWA-SQL注入-2
接上一篇SQL注入的学习笔记,上一篇我通过报错信息得知后台数据库是MySQL(这个信息非常重要~),然后通过SQL注入拿到了用户表的所有行,其实我们还可以通过MySQL的特性来拿更多的信息. 1. 获 ...
- 《应用Yii1.1和PHP5进行敏捷Web开发》学习笔记(转)
学习地址为: http://www.yiibook.com/book/agile_web_application_development_with_yii1.1_and_php5 1.建立应用程序 ...
- asp.net web.config的学习笔记
原文地址:http://www.cnblogs.com/Bulid-For-NET/archive/2013/01/11/2856632.html 一直都对web.config不太清楚.这几天趁着项目 ...
- 《白帽子讲Web安全》- 学习笔记
一.为何要了解Web安全 最近加入新公司后,公司的官网突然被Google标记为了不安全的诈骗网站,一时间我们信息技术部门成为了众矢之的,虽然老官网并不是我们开发的(因为开发老官网的前辈们全都跑路了). ...
- web前端-html学习笔记
学习html最重要的是坚持.细心.多动手.慕课网<HTML+CSS基础课程>的笔记. 1.<h1>网站标题</h1> 如:<h1>腾讯网</h1& ...
- Web.py 框架学习笔记 - URL处理
最近由于工作需要开始学习基于python的web应用框架web.py.为了方便学习,将学习心得逐日记下以便日后复习. URL 模板: web.py提供了一套url处理的模板,在python工程中,只需 ...
- Web开发入门学习笔记
公司web项目终于要启动了,本以为django学习可以在实战中进行,结果最终使用了Drupal框架,好吧,那我们就PHP走起,买了本<细说PHP>,先跟着过一遍Web开发入门. HTTP协 ...
- 《Flask Web开发》学习笔记
第一部分 Flask简介 前言:想熟练掌握一门web框架,为以后即将诞生的测试工具集做准备.为什么选择flask要做熟练掌握的一门框架,而不是其他的,最主要的原因是可以随意定制. 特别提醒:这本书的代 ...
- 活字格Web应用平台学习笔记1 - 下载安装,ready go
今年有一个很重要的职业目标,就是好好学习活字格这个神器,争取在这两个月拿到活字格初级工程师的认证证书.给自己加个油,今天开始好好学习,好好做笔记. 第一步,下载安装 先去活字格官网:http://ww ...
- Web负载均衡学习笔记之实现负载均衡的几种实现方式
0x00 概要 负载均衡(Load Balance)是集群技术(Cluster)的一种应用.负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力.目前最常见的负载均衡应用是Web负载均衡.根 ...
随机推荐
- [Go] Golang Context 包的注意点
Golang context 包,定义了context 类型,携带截止日期,取消信号,和其它跨API请求作用域及进程间的值. 到服务器的请求应该创建一个 Context,服务器对外的调用应该接受一个C ...
- Prometheus+Grafana+alertmanager构建企业级监控系统(三)
七.Prometheus监控扩展 7.1 Promethues 采集tomcat监控数据 tomcat_exporter地址:https://github.com/nlighten/tomcat_ex ...
- STM32 USART串口通信
一.介绍 通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换.USART利用分数波特率发生器提供宽范围的波特率选择.它支持同步单向 ...
- 大模型_2.1:Prompt进阶
目录: 1.Prompt frameWork 2.Prompt 结构化格式 3.如何写好结构化 Prompt ? 4.Zero-Shot Prompts 5.Few-Shot Prompting 6. ...
- C#语言:散修笔记
文章目录 前言 数组的几种定义方法 out 和 ref 的区别 可变参数params 静态方法与非静态方法 >❀什么时候使用静态和非静态 构造函数 >❀类中方法的重载 >❀在类中输出 ...
- Spring源码阅读 ------------------- SpringFrameWork 5.2 +IDEA 部署其他坑位问题(二)
一.地址下jar包无法下载问题 报错信息: Could not get resource 'https://plugins.gradle.org/m2/org/asciidoctor/o ...
- 4G EPS 中的 User Plane
目录 文章目录 目录 前文列表 用户平面 EPS UP 中的 GTP-U F-TEID 的组成 UE IP 数据包在 GTP-U Tunnel 上的封装流程 GTP-U 与 EPS Bearer MM ...
- echarts(数据可视化图表)
echarts饼图详细 echarts下载 https://echarts.apache.org/zh/index.html echarts官网 http://www.isqqw.com/#/hom ...
- XML Schema 复杂元素类型详解:定义及示例解析
在XML Schema(XSD)中,复杂元素是指包含其他元素和/或属性的XML元素.复杂元素可以分为四种类型: 空元素: 仅包含其他元素和/或属性的元素. 仅包含其他元素的元素: 不包含文本内容,只包 ...
- pgsql安装与主从配置搭建
一:安装环境 查看一下安装环境:cat /etc/centos-release CentOS Linux release 7.7.1908 (Core) 二:软件下载 https://www.post ...