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

本文围绕面试题,介绍了HTTP请求/响应步骤、请求结构,对比了GET和POST的不同。阐述了HTTPS比HTTP多SSL或TLS层及加密方式、数据传输流程。还讲解了cookie和Session的存放位置与实现方式,最后说明了Socket在服务器端和客户端的操作流程。

面试题

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

答案:

DNS解析

TCP连接

发送HTTP请求

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

浏览器解析渲染页面

连接结束

HTTP请求/响应的步骤

客户端连接到web服务器

发送HTTP请求

服务器请求并返回HTTP响应

释放连接TCP

客户端浏览器解析HTML内容

 

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

 

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

HTTP请求结构

请求报文

请求行

请求头部

请求正文

 

 

 

GET和POST不同

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

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

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

HTTPS

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

 

SSL的介绍

 

HTTP是明文

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

它的加密方式

对称加密

非对称加密

哈希加密

数字签名

HTTTP数据传输流程

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

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

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

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

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

 

 

cookie

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

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

它的实现方式

发送给服务器

服务器在响应给客户端

 

Session

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

 

 

 

HTTP 和HTTPS 的区别

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


wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 

 

Socket

不管是java还是c这些

流程都是这样

服务器端

创建socket

绑定socket和端口

监听该端口号

然后客户端也创建socket

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

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

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

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

客户端关闭socket

服务器关闭socket

 

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值