面试第一题 http 和 https

HTTP部分:

1.http状态码:

1xx:表示正在请求数据
2xx: 200,204,206, 表示请求成功,204表示只返回一部分数据
3xx: 301,302,303 表示你请求的资源确实存在,但你需要一个新的url来访问他
4xx: 400,401,403,404 表示请求不到资源:拒绝你的理由有几个,首先是明确说,这没有你要的资源,然后是我有,但我不让你访问(你客户端有问题),接着语气变软说:你的请求行有问题,你去看一下,最后说,你需要通过一个验证,就跟你去办事,别人为难你一样
5xx:500,503 表示我这里出问题了,或者说,我这两天停机整顿一下。

2.TCP三次握手,四次挥手

面试第一题 http 和 https_第1张图片
面试第一题 http 和 https_第2张图片
上图是TCP三次握手,四次挥手示意图,为什么握手要三此?如果①在网络中滞留了很久才到服务器端,但是这是一个失效的请求,如果这时服务器端开辟一个连接,客户端却没有请求下文了,就会造成资源浪费。为什么挥手要四次?TCP是全双工模式,必须双方都说没有数据传输了,如果少一次,就会造成我没有数据要传了,我关了,你却还在传数据,造成数据丢失。

3.关于请求报文:

记住下面一个网址:
请求行:post / login.php / http 1.0
包含:请求方法,请求的路径url,版本协议
请求头: host / www.tyt.com / 浏览器标识符(客户端的信息)
包含:本机地址 ,主机地址
请求体 username+?& password=?
包含请求的内容

4.有关cookie和session

他们的关系就跟你去医院看病,第一次去看病时,医院给你一个就诊卡,(cookie),作为你的标识, 医院系统添加一个session,来给你记录(回话ID),好,下次你来访问,你就带着你的就诊卡来,我在session系统里开始我们的会话。

5.其他的就是版本发展,http0.9 http 1.0 http1.1 http2.0
6.请求方法:get post put delete
7.https

http加密方式
对称加密:客户服务器采用一种加密方式,一个公钥,效率高,加解密简单,但安全性低
非对称加密, 采用公钥和私钥,公钥在客户端,私钥在服务端,优点:安全性高,但加解密复杂,效率低
但这两种放肆都可能被窃取数据,
因此,https 更安全,在http基础上,利用SSL/TLS建立全信道,加密数据包建。
主要是通过一个CA机构,来发放秘钥,采取对称加密和非对称加密方式相结合,更安全。
更多有关https可参考 最好懂的https详解——guolin

你可能感兴趣的:(每天几道面试题系列)