php 网站超市,wordpress手机QQ登录,php网站怎么做302,有意思的网站简介
之前我通过王道的考研课进行了计算机网络的学习#xff0c;但是在秋招准备过程中发现之前的笔记很多不足#xff0c;学习的知识不够深入和巩固#xff0c;所以再重新对《图解HTTP》《图解TCP/IP》进行深度学习后#xff0c;总结出了此篇博客#xff0c;由于内容…简介
之前我通过王道的考研课进行了计算机网络的学习但是在秋招准备过程中发现之前的笔记很多不足学习的知识不够深入和巩固所以再重新对《图解HTTP》《图解TCP/IP》进行深度学习后总结出了此篇博客由于内容都是据我而定的对于我来说以及牢牢记住的知识点就没有进行笔记记录所以如需深入学习还需要自己独立阅读相关书籍。书籍内容胜过一切八股文和笔记由浅入深有体系的学习胜于一切死记硬背。同时在学习协议或者一些专有名词时和英文原文一起记忆对我们的学习更有帮助。
HTTP
以下内容是对HTTP的一些学习笔记
首先我们需要了解到的是HTTP是在应用层使用的一种传输协议和FTPDNS应用的位置是一样的关于计算机网络的分层结构我们在后续TCP/IP协议处在进行解释这里简单了解即可。 URI和URL
URI统一资源标志符(Uniform Resource Identifier)
URL统一资源定位符(Uniform Resource Locater)
即URI使用字符串标识某一互联网资源二URL表示资源的地点互联网上的位置所以我们说URL是URI的子集。
HTTP定义
HTTP协议用于客户端与服务端之间的通信。通过请求和响应的交换达成通信。HTTP是不保存状态的协议(即HTTP是无状态协议)
思考这里对于12点其实没有什么过多的解释了。但是对于第三点我们需要自己的独立思考参与进来为什么HTTP是无状态协议呢HTTP被用于传输那么我们需要的就是在传递消息的同时尽量减少过程损耗如果携带状态那么一定会增加报文长度所以我们再来参考书籍上的定义就很好理解了目的是为了更快的处理大量事务确保协议的可伸缩性。
告知服务器意图的HTTP方法
GET用来请求已经被URI识别的资源指定的资源服务器解析后返回响应内容。POST用来传输实体的主体。PUT传输文件。HEAD获得报文首部用于确认URI的有效性及资源更新的日期时间等。DELETE删除文件与PUT相反按照请求的URI删除指定的资源。OPTIONS询问支持的方法用来查询针对请求URI指定资源支持的方法。TRACE追踪路径让服务器端将之前的请求通过请求通信返回给客户端。CONNECT要求在于代理服务器建立通信时建立隧道实现用隧道协议进行TCO通信。(主要用于SSL/TLS协议把通信内容加密后经网络隧道传输。)
注意有时候面试官会问GET和POST的区别我们可以由浅入深的进行解答
GET的参数附加在URL中传递数据可见并作为URL的一部分发送。POST请求参数放置在请求主体(body)中不通过URL而是作为请求的一部分发送到服务器。GET由于数据存储在URL中所以长度受到限制通常不超过2048字符。POST理论上不受数据大小限制因为其在请求体中发送。多次执行同一个GET请求应该得到同样的结果并且不会改变服务器的状态。POST请求则是对服务器内容进行修改多次执行一个POST请求可能会导致不同的结果甚至改变服务器状态。
但是本质上的区别
GET产生一个TCP数据包而POST产生两个TCP数据包。GET请求浏览器会将header和data一起发送给服务器而POST会先发送header服务器响应100后客户端发送data。
HTTP报文
用于HTTP协议交互的信息被称为HTTP报文。(客户端请求报文。服务端响应报文 一般有四种首部通用首部请求首部响应首部实体首部
对于报文主体我们可以采用编码来提升效率但是编码过程需要客户端或者服务端计算机完成会消耗更多的cpu资源。
返回状态码
1xx Informational 接收的请求正在处理
2xx Success 请求正常处理完毕
200 ok 表示从客户端发来的请求在服务器端被正常处理了204 No Content 表示服务器接收的请求已经成功处理但在返回报文中不含实体部分206 Partial Content 表示客户端进行了范围请求而服务器成功只想了这部分的请求
3xx Redirection 需要进行的附加操作以完成请求
301 Moved Dermanenty 永久重定向表示请求的资源已经被分配了新的URI以后使用资源现在所指的URI302 Found 临时重定向 该状态码表示请求的资源已经被分配了新的RI本次使用资源现在所指的URI303 See Other 表示由于请求对应资源存在着一个URI应使用GET方法定向获取请求资源304 Not Modified 表示客户端发送附带条件的请求时服务器允许请求访问资源但因为发生请求未满足条件情况。
4xx Client Error 服务器无法处理请求
400 Bad Request 表示请求请求报文中存在语法错误401 Unauthorized 表示发送的请求需要有通过 HTTP BASIC DIGEST 的认证信息403 Forbiden 表示对请求资源的访问被服务器拒绝了404 Not Found 表明服务器上无法找到请求的资源
5xx Server Error 服务器处理请求出错
500 Internal Server Error 表明服务器端在执行请求时发生了错误503 Service Unavailable 表明服务器暂时处于超负载或者正在停机维护现在无法处理请求
HTTP缺点 -- HTTPS
通信使用明文不加密内容可能会被窃听。不验证通信方身份因此可能遭遇伪装。无法验证报文的完整性所以报文内容可能被篡改。
因此 HTTP加密认证完整性保护 HTTPS
HTTP并非是一种新的协议知识HTTP通信接口部分使用SLL(Secure Socket Layer) 和 TLS(Transprot Layer Security) 协议代替而已。
HTTPS混合加密机制
如若想要了解HTTPS如何进行加密我们就需要了解什么是对称加密和非对称加密。
对称加密
对称加密或者称之为共享密钥加密。即加密和解密使用同一把钥匙发送方将信息使用密钥加密后发送到公网中接收方获取后使用同样的密钥进行解密。
其问题显而易见就是如何将密钥安全传给对方。但是其优点也很明显相较于非对称加密而言他的效率会高出很多。
非对称加密
非对称加密或者称为公开密钥加密。即每个用户都有一个公钥一个私钥公钥会放在公网中发送方使用目标用户的公钥进行加密然后发送信息接收方获取到加密信息后使用私钥进行解密。
HTTPS采用的是两者结合的方法
首先先使用非对称加密在客户端和服务端间传递对称加密的公钥然后使用对称加密进行信息传递
但是在非对称加密获取公钥的过程公钥可能是攻击者伪造的假公钥。于是我们引出了第三方机构的概念。当一个用户注册了私钥和公钥需要将其公钥交给可信第三方进行证明。然后当另一用户发送消息给当前用户时另一用户需要将获取的私钥的认证通过非对称加密与第三方机构进行校验如果为真就会继续使用。