网络基础—HTTP、HTPPS、GET、POST、Socket

面试题

在浏览器地址栏键输入URL,按下回车之后经历的流程

答案:

DNS解析

TCP连接

发送HTTP请求

服务器处理请求并返回HTTP报文

浏览器解析渲染页面

连接结束

网络基础—HTTP、HTPPS、GET、POST、Socket_第1张图片

HTTP请求/响应的步骤

客户端连接到web服务器

发送HTTP请求

服务器请求并返回HTTP响应

释放连接TCP

客户端浏览器解析HTML内容

网络基础—HTTP、HTPPS、GET、POST、Socket_第2张图片

 

Http(超文本协议):
定义了web客户端如何从web服务器请求web页面以及服务器如何把web页面传送给客户端。
它采用请求响应模型:
客户端向服务器发送一个请求报文(包含请求方法,URL,协议版本,请求头,请求数据);
服务器以一个状态行作为响应(内容:协议版本,成功/错误代码,服务器信息,响应头,响应数据)

 

http状态码
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务端错误--服务器未能实现合法的请求

网络基础—HTTP、HTPPS、GET、POST、Socket_第3张图片

HTTP请求结构

请求报文

请求行

请求头部

请求正文

 

网络基础—HTTP、HTPPS、GET、POST、Socket_第4张图片

 

 

网络基础—HTTP、HTPPS、GET、POST、Socket_第5张图片

GET和POST不同

在HTTP报文层面:GET将请求信息放在URL也就是路由上,POST放在报文中,网络请求里

数据库层面:GET符合幂等性和安全性,POST不符合

其他层面:GET可以被缓存、被存储,而POST不行

网络基础—HTTP、HTPPS、GET、POST、Socket_第6张图片

HTTPS

它比HTTP多了一层SSL或者是TLS

网络基础—HTTP、HTPPS、GET、POST、Socket_第7张图片

 

SSL的介绍

网络基础—HTTP、HTPPS、GET、POST、Socket_第8张图片

 

HTTP是明文

而HTTPS相对于HTTP 它加密了 相对安全一些

它的加密方式

对称加密

非对称加密

哈希加密

数字签名

网络基础—HTTP、HTPPS、GET、POST、Socket_第9张图片

HTTTP数据传输流程

浏览器将支持的加密算法信息发送给服务器

服务器选择一套浏览器支持的加密算法,以证书的形式回反浏览器

浏览器验证证书合法性,并结合证书公钥加密信息发送给服务器

服务器使用私钥解密信息,验证哈希,加密响应会发浏览器

浏览器解密响应信息,并对消息进行验证,之后进行加密交互数据

 

网络基础—HTTP、HTPPS、GET、POST、Socket_第10张图片

 

cookie

它是存放在客户端的,客户端再次请求的时候,会吧cookie会发给服务器

服务接受到,解析cookie生成与客户端相对应的内容

网络基础—HTTP、HTPPS、GET、POST、Socket_第11张图片

它的实现方式

发送给服务器

服务器在响应给客户端

 

Session

它是存在服务器,它是以键值得方式存放在服务器

 

网络基础—HTTP、HTPPS、GET、POST、Socket_第12张图片

 

网络基础—HTTP、HTPPS、GET、POST、Socket_第13张图片

 

HTTP 和HTTPS 的区别

HTTPS和HTTP区别
HTTPS需要CA申请证书,HTTP不需要
HTTPS密文传输,HTTP明文
HTTPS默认使用443端口,HTTP80
HTTPS=HTTP+加密+认证+完整性保护,较HTTP安全

网络基础—HTTP、HTPPS、GET、POST、Socket_第14张图片


网络基础—HTTP、HTPPS、GET、POST、Socket_第15张图片

 

网络基础—HTTP、HTPPS、GET、POST、Socket_第16张图片网络基础—HTTP、HTPPS、GET、POST、Socket_第17张图片

 

 

Socket

不管是java还是c这些

流程都是这样

服务器端

创建socket

绑定socket和端口

监听该端口号

然后客户端也创建socket

连接指定计算机的端口 connect()

服务器接受到客户端的连接请求(accept)

客户端向socket发送信息 写入信息send

服务器在进行读取客户端发送的信息recv

客户端关闭socket

服务器关闭socket

 

网络基础—HTTP、HTPPS、GET、POST、Socket_第18张图片网络基础—HTTP、HTPPS、GET、POST、Socket_第19张图片

 

网络基础—HTTP、HTPPS、GET、POST、Socket_第20张图片网络基础—HTTP、HTPPS、GET、POST、Socket_第21张图片

你可能感兴趣的:(HTTP,HTTPS,socket)