Hetian lab day2扩展

Day 2 扩展

1、常见浏览器协议

1)ftp\https\file

ftp:
definition
  FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。

https:
definition
  HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
file:

2)在浏览器中使用者3种类型协议访问资源

不是很懂这个要求,但是贴几个公认好用的工具,本人只用过一部分。
ftp客户端:ftp的20端口常用语传数据,21端口常用于传输控制信息。
HTTPS*:HTTP默认端口是80,HTTPS默认端口443;这是安全版的HTTP,在客户端与服务器之间加入了SSL层,保证数据包在通信过程中的安全加密。其标志是在网址前有个小锁,https协议网站如下:


Hetian lab day2扩展

与http协议访问类型做个对比,dbq找了好久也就找到这个:

Hetian lab day2扩展

file协议:一种本地文件访问协议,相较于ftp和https而言优点是快,只要是本地文件就可以用file去加载,不需要通过远程服务器。
域名格式file:///filepath/filename.*
下图是在浏览器中访问我的桌面文件的截图
Hetian lab day2扩展

2、HTTP(unfinished)

(1)HTTP报文

1)请求方式

HTTP Wikipedia:Hypertext Transfer Protocol,超文本传输协议,是一个客户端(用户)和服务端(网站)之间请求和应答的标准,通常使用TCP协议,默认端口80。

请求方式 含义 操作格式 示例
GET

GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端。

请求参数和对应的值附加在URL后面,利用一个问号(“?”)代表URL的结尾与请求参数的开始,传递参数长度受限制。

GET /search?hl=zh-CN&source=hp&q=domety&aq=f&oq= HTTP/1.1

POST

POST方法将请求参数封装在HTTP请求数据中,以名称/值的形式出现,可以传输大量数据,这样POST方式对传送的数据大小没有限制,而且也不会显示在URL中。

POST /search HTTP/1.1 POST /search HTTP/1.1
HEAD HEAD就像GET,只不过服务端接受到HEAD请求后只返回响应头,而不会发送响应内容 etc. etc.
PUT 上传指定的URL表示 etc. etc.
DELETE 删除指定资源 etc. etc.
MOVE etc. etc. etc.
OPTIONS 返回服务器支持的HTTP方法 etc. etc.
TRACE etc. etc. etc.

2)状态码

HTTP状态码知识

3)属性

name definition format
User-Agent 代表用户行为的软件代理程序所提供的对自己的一个标识符。

User-Agent = product *( RWS ( product / comment ) )

For example:

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36

Referer 请求来源

google chrome:

command+option+I
command+shift+P

选中“NetWork”选项卡,随便出发一个事件(比如刷新),然后选中左侧的name下的事件,在右侧的headers选项卡下面查看请求头和响应头
Referer: https://mp.****.net/mdeditor/90201885

Host 请求源 etc.
Content-Type 报文类型 application、Jason、页面、表单等
Set-Cookie 这个服务端响应多用,表示让客户端保存一些cookie字段。常用的k=v&k2=v2结构 etc.
server 服务器信息 etc.

(2) Base64 编码

一种用64个字符(A-Z,a-z,0-9)表示二进制数据的编码方式。常用语email传输,或者在一些如http请求参数里面,包含了其他冲突符号(如&,?,=),而又担心某些中间微服务没妥善处理的时候,用base64编码可以解决这些冲突问题。

(3) HTTP 基本认证

定义:一种用来允许网页浏览器或其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式。在发送之前是以用户名追加一个冒号然后串接上口令,并将得出的结果字符串再用Base64算法编码。
优点:主流网页浏览器都支持;
缺点:该方案假定客户端与服务器之间是安全的,如果没有SSL/TLS这样的传输层安全协议,那么明文传输的**和口令容易被拦截。

3、HTTPS和HTTP的区别和联系

HTTPS和HTTP的区别
 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。
 为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
HTTPS和HTTP的区别主要为以下四点:
 一、https协议需要到ca申请证书,一般免费证书很少,需要交费。
 二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
 三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
 四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

4、HTTP协议知识

HTTP 是基于 TCP/IP 协议的应用层协议。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。
详情见1、2、3、

5、常见的数据库类型

参考几种主流数据库类型简介

6、测验

详情参见Part 2

参考文档

1、Markdown如何使内容居中显示
2、HTTP请求报文和HTTP响应报文
3、GET与POST对比:W3School