获得徽章 0
#挑战每日一条沸点#
阅读笔记11:http首部字段类型及用途
|常见首部字段类型|用途|
| --- | --- |
|通用首部字段(General Header Fields)| 请求报文和响应报文都会使用 |
|请求首部字段(Request Header Fields)| 从客户端向服务器端发送**请求报文**时使用的首部:补充请求的附加内容、客户端信信息、响应内容相关优先级等信息 |
|响应首部字段(Response Header Fields)| 从服务器端向客户端返回**响应报文**时使用的首部:补充了响应的附加内容,也会要求客户端附加额外的内容信息 |
|实体首部字段(Entity Header Fields)| 请求报文和响应报文的**实体部分**使用的首部:补充了资源内容更新时间等与实体有关的信息|
阅读笔记11:http首部字段类型及用途
|常见首部字段类型|用途|
| --- | --- |
|通用首部字段(General Header Fields)| 请求报文和响应报文都会使用 |
|请求首部字段(Request Header Fields)| 从客户端向服务器端发送**请求报文**时使用的首部:补充请求的附加内容、客户端信信息、响应内容相关优先级等信息 |
|响应首部字段(Response Header Fields)| 从服务器端向客户端返回**响应报文**时使用的首部:补充了响应的附加内容,也会要求客户端附加额外的内容信息 |
|实体首部字段(Entity Header Fields)| 请求报文和响应报文的**实体部分**使用的首部:补充了资源内容更新时间等与实体有关的信息|
展开
评论
点赞
#挑战每日一条沸点#
阅读笔记10: 数据结构:
Array: 顺序存储的线性表,所有元素的内存地址是连续的,但不可更改容量;插入和删除慢(需要调整别的元素的位置) ->通过index查找 O(1)
Dynamic array: 可更改容量但因为要复制很多值需要更多时间/空间消耗
Linked list (item with ptr next): 头尾插入和删除快;除了head ptr是O(1)以外(还有double linked list 的last ptr也是),其他只能依靠遍历的方式慢慢查找 -> O(N)
Queue: First in first out,分为有界和无界,动作只有出队和入队;快 -> O(1)
Stack: First in last out,push插入,pop读取;快 -> O(1)
原帖:
juejin.cn
阅读笔记10: 数据结构:
Array: 顺序存储的线性表,所有元素的内存地址是连续的,但不可更改容量;插入和删除慢(需要调整别的元素的位置) ->通过index查找 O(1)
Dynamic array: 可更改容量但因为要复制很多值需要更多时间/空间消耗
Linked list (item with ptr next): 头尾插入和删除快;除了head ptr是O(1)以外(还有double linked list 的last ptr也是),其他只能依靠遍历的方式慢慢查找 -> O(N)
Queue: First in first out,分为有界和无界,动作只有出队和入队;快 -> O(1)
Stack: First in last out,push插入,pop读取;快 -> O(1)
原帖:
展开
评论
点赞
赞了这篇文章
#挑战每日一条沸点#
阅读笔记8: 数据库基础
数据库作用:支持安全/快速/并发访问;分为关系型(MySQL,Oracle,etc)和非关系型(redis,etc)
以mysql为例:
Database 存储着 各种table; table里有header/field和行列
基本命令:
* `$ mysql -u root -p` 连接数据库
* `show databases;`展示所有db;tables同理
* `use <db name>;`选择/进入 db
* `select * from <table name>;` 表示查询所有这个table的数据
* `desc <table name>`查看表结构,跟pandas的describe有点像
原帖:
juejin.cn
阅读笔记8: 数据库基础
数据库作用:支持安全/快速/并发访问;分为关系型(MySQL,Oracle,etc)和非关系型(redis,etc)
以mysql为例:
Database 存储着 各种table; table里有header/field和行列
基本命令:
* `$ mysql -u root -p` 连接数据库
* `show databases;`展示所有db;tables同理
* `use <db name>;`选择/进入 db
* `select * from <table name>;` 表示查询所有这个table的数据
* `desc <table name>`查看表结构,跟pandas的describe有点像
原帖:
展开
评论
点赞
#挑战每日一条沸点#
阅读笔记8: 数据库基础
数据库作用:支持安全/快速/并发访问;分为关系型(MySQL,Oracle,etc)和非关系型(redis,etc)
以mysql为例:
Database 存储着 各种table; table里有header/field和行列
基本命令:
* `$ mysql -u root -p` 连接数据库
* `show databases;`展示所有db;tables同理
* `use <db name>;`选择/进入 db
* `select * from <table name>;` 表示查询所有这个table的数据
* `desc <table name>`查看表结构,跟pandas的describe有点像
原帖:
juejin.cn
阅读笔记8: 数据库基础
数据库作用:支持安全/快速/并发访问;分为关系型(MySQL,Oracle,etc)和非关系型(redis,etc)
以mysql为例:
Database 存储着 各种table; table里有header/field和行列
基本命令:
* `$ mysql -u root -p` 连接数据库
* `show databases;`展示所有db;tables同理
* `use <db name>;`选择/进入 db
* `select * from <table name>;` 表示查询所有这个table的数据
* `desc <table name>`查看表结构,跟pandas的describe有点像
原帖:
展开
评论
点赞
#挑战每日一条沸点#
阅读笔记7: http继续
| `2XX`| |
| --- | --- |
| `200 OK` | 正常处理 |
| `204 No Content` | 处理成功但没有资源可以返回 |
| `206 Partial Content` | 客户端需要的范围请求被正常处理了; 报文中包含content-range指定范围 |
| `3XX`| |
| --- | --- |
| `301 Moved Permanently`现是`308 Permanent Redirect` | 请求的资源已经被分配了新的URI,需要换新的url,继续用GET; `308`强调永久性,明确应该继续使用原始的请求方法 |
| `302 Found`现是`307 Temporary Redirect` | 也是有新的URI但是是临时性质的; `307`明确要求服务器要求客户端继续使用原始的请求方法来请求新的url |
| `303 See Other` | 请求的资源存在另一个url,应使用GET从新的URI获取资源; 响应报文的'Location'中提供新的url |
| `304 Not Modified` | 服务器端允许访问资源,但未找到满足请求条件的信息 |
举个例子,假设你在一个网站上填写了一个注册表单,然后点击了 "注册" 按钮。服务器在收到这个POST请求后,会验证并保存你的用户信息,然后可能会要求你跳转到一个欢迎页面,告诉你注册已成功。
如果服务器返回 `302 Found` 状态码作为响应,浏览器会遵循这个重定向,但会继续使用POST方法请求新的URL。这可能会导致:如果用户刷新这个欢迎页面,浏览器会重新发送之前的POST请求,导致用户看到一个浏览器警告,询问是否要重新提交表单数据。
而如果服务器返回 `303 See Other` 状态码,浏览器会在重定向时使用GET方法请求新的URL。因此不会再次提交之前的表单数据。这样可以避免浏览器警告用户重新提交POST数据。
阅读笔记7: http继续
| `2XX`| |
| --- | --- |
| `200 OK` | 正常处理 |
| `204 No Content` | 处理成功但没有资源可以返回 |
| `206 Partial Content` | 客户端需要的范围请求被正常处理了; 报文中包含content-range指定范围 |
| `3XX`| |
| --- | --- |
| `301 Moved Permanently`现是`308 Permanent Redirect` | 请求的资源已经被分配了新的URI,需要换新的url,继续用GET; `308`强调永久性,明确应该继续使用原始的请求方法 |
| `302 Found`现是`307 Temporary Redirect` | 也是有新的URI但是是临时性质的; `307`明确要求服务器要求客户端继续使用原始的请求方法来请求新的url |
| `303 See Other` | 请求的资源存在另一个url,应使用GET从新的URI获取资源; 响应报文的'Location'中提供新的url |
| `304 Not Modified` | 服务器端允许访问资源,但未找到满足请求条件的信息 |
举个例子,假设你在一个网站上填写了一个注册表单,然后点击了 "注册" 按钮。服务器在收到这个POST请求后,会验证并保存你的用户信息,然后可能会要求你跳转到一个欢迎页面,告诉你注册已成功。
如果服务器返回 `302 Found` 状态码作为响应,浏览器会遵循这个重定向,但会继续使用POST方法请求新的URL。这可能会导致:如果用户刷新这个欢迎页面,浏览器会重新发送之前的POST请求,导致用户看到一个浏览器警告,询问是否要重新提交表单数据。
而如果服务器返回 `303 See Other` 状态码,浏览器会在重定向时使用GET方法请求新的URL。因此不会再次提交之前的表单数据。这样可以避免浏览器警告用户重新提交POST数据。
展开
评论
点赞
#挑战每日一条沸点#
阅读笔记5:
阅读笔记传输流程:
(客户端)dns获取IP地址 -> http生成报文 -> tcp分割报文并传输 -> (路由器)ip寻找对方地址,中转传输 -> (接受端) tcp接收分割后的报文并重组 -> http根据请求处理 -> (如果对方需要返回数据就再通过tcp/ip通信协议传回去)
各个协议整理:
* DNS(Domain Name System): 域名到IP地址之间的解析服务
* HTTP: 生成针对目标服务器的http请求报文
* TCP: 分割http报文以方便安全地传输
* IP: 搜索对方的ip地址
HTTP:
报文请求由 请求服务器的类型<-方法、请求对象(url)、http协议版本和(optional)请求首部字段和内容实体组成
响应报文由 协议版本、状态码和原因短语和 (optional)响应首部字段和实体主体构成
http报文:分为首部和主体(optional),由空行(Carriage Return 和 Line Feed) 来划分
HTTP是无状态的协议,不保存通信状态(类似于不记得自己发送过什么)
请求方法:
GET: 请求访问已被URI识别的资源; 指定的资源经过服务器端解析后返回响应内容
POST: 传输实体的主体,不获取响应的主题内容
PUT: 传输文件
DELETE: 请求删除文件
HEAD: 和get一样但只获取报文首部,不获取主体; 多用于确认uri有效性/资源更新的日期等
OPTIONS: 查询针对请求URI指定的资源支持的方法
TRACE: 查询发送出去的请求是怎样被加工修改的
CONNECT: 要求用隧道协议 (SSL安全套接字, TLS传输层安全)加密后传输
Cookie:
根据之前请求和响应的的状态进行本次的请求处理,控制客户端的状态
还未增加cookie时:
根据从服务器端发送的响应报文内的 Set-Cookie 的首部字段信息,通知客户端保存 Cookie
增加cookie后:当下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入 Cookie 值后发送出去
阅读笔记5:
阅读笔记传输流程:
(客户端)dns获取IP地址 -> http生成报文 -> tcp分割报文并传输 -> (路由器)ip寻找对方地址,中转传输 -> (接受端) tcp接收分割后的报文并重组 -> http根据请求处理 -> (如果对方需要返回数据就再通过tcp/ip通信协议传回去)
各个协议整理:
* DNS(Domain Name System): 域名到IP地址之间的解析服务
* HTTP: 生成针对目标服务器的http请求报文
* TCP: 分割http报文以方便安全地传输
* IP: 搜索对方的ip地址
HTTP:
报文请求由 请求服务器的类型<-方法、请求对象(url)、http协议版本和(optional)请求首部字段和内容实体组成
响应报文由 协议版本、状态码和原因短语和 (optional)响应首部字段和实体主体构成
http报文:分为首部和主体(optional),由空行(Carriage Return 和 Line Feed) 来划分
HTTP是无状态的协议,不保存通信状态(类似于不记得自己发送过什么)
请求方法:
GET: 请求访问已被URI识别的资源; 指定的资源经过服务器端解析后返回响应内容
POST: 传输实体的主体,不获取响应的主题内容
PUT: 传输文件
DELETE: 请求删除文件
HEAD: 和get一样但只获取报文首部,不获取主体; 多用于确认uri有效性/资源更新的日期等
OPTIONS: 查询针对请求URI指定的资源支持的方法
TRACE: 查询发送出去的请求是怎样被加工修改的
CONNECT: 要求用隧道协议 (SSL安全套接字, TLS传输层安全)加密后传输
Cookie:
根据之前请求和响应的的状态进行本次的请求处理,控制客户端的状态
还未增加cookie时:
根据从服务器端发送的响应报文内的 Set-Cookie 的首部字段信息,通知客户端保存 Cookie
增加cookie后:当下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入 Cookie 值后发送出去
展开
评论
点赞
![[猪头]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_100.6adf5c8.png)
![[舔屏]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_86.8b2a629.png)
![[流泪]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_6.dde0d83.png)