浅入网络原理之HTTP

本文深入浅出地介绍了网络通信的基本概念,包括客户端与服务器、请求与响应的交互方式,以及HTTP协议在TCP/IP协议栈中的位置。详细讲解了HTTP协议的属性,如URL、方法、Header和常见状态码。同时,探讨了HTTPS如何通过非对称加密增强HTTP的安全性。
摘要由CSDN通过智能技术生成


在这里插入图片描述

一、相关概念

1.客户端VS服务器

网络通信有两台主机,一方是主动发起请求,被称为客户端,另一方是被动接受请求,被称为服务器,正是因为服务器是被动接受请求,它不知道客户端什么时候会发送请求,所以服务器是7*24小时运行,随时等待连接。

2.请求(request)VS响应(response)

典型的客户端和服务器之间的交互方式主要是一问一答,也有一问多答、多问一答,多问多答等。
注:请求和响应是一一回应的关系,也是前后端交互的桥梁!

3.协议

客户端和服务器相互传输数据使用协议,协议是规定通信双方按照什么样的规则来进行交流。
比如两个程序之间数据传输本质是二进制的bit流,bit流是协议里包含的东西,它就是通过“协议”约定的。

4.协议栈

网络通信涉及很多协议,不同协议有不同的功能,按照不同功能或在通信中不同的作用,将协议分为几个不同的类别,也叫“协议栈”。
在这里插入图片描述

应用层:程序员在代码中约定传输的数据是什么。
传输层:只考虑起点和终点数据的传输。
网络层:两个遥远的主机的数据传输。
数据链路层:相邻主机之间的通信。
物理层:物理设施。

5.HTTP协议

从属于Tcp/ip协议栈,处于应用层,HTTP协议与代码直接相关
Web开发广泛使用HTTP协议,比如我们平时上网是时输入的网址,此时,浏览器是客户端。

二、属性

1.URL

URL就是我们平时上网输入的网址。是资源唯一的定位符,描述了互联网上的资源位置。

在这里插入图片描述
其中,登录信息一项现在已经废了,片段标识符不常见。

2.urlencode和urldecode

特殊字符的转义,简单的说,urlencode就是将每3个字节用16进制表示,前面再加一个%。而ruldecode就是urlencode的逆过程。

3.HTTP的方法

在这里插入图片描述

4.HTTP常见的Header

在这里插入图片描述
1)referer典型用处:获取自己的网站被访问了多少次。
2)Cookie:以键值对的形式存在于HTTP请求,内容来自服务器,每个域名都有必用的Cookie,后期访问服务器时会自动带上Cookie。
典型用处:识别用户身份,

三、HTTP格式

在这里插入图片描述

1.HTTP请求

首行:方法 + url + 版本。之间用空格分隔。
header :请求的属性,冒号分割的键值对;每组属性之间使用\n分隔,遇到空行表示header结束。
body:空行后的内容,可以为空字符串,若body存在,那么header中会有一个Content-Length属性来标识body的长度。

注:HTTP请求中获取服务器数据主要通过GET方法,给服务器提交数据主要通过POST方法,对GET请求来说一般没有body,post请求一般有body。

2.HTTP响应

首行:版本号 + 状态码 + 状态码解释。用空格分隔
header:请求的属性,冒号分割的键值对;每组属性之间使用\n分隔,遇到空行表示header结束。
body:空行后的内容,可以为空字符串,若body存在,那么header中会有一个Content-Length属性来标识body的长度;如果服务器返回了一个html页面,那么html页面内容就在body中。

注:一次HTTP请求可能成功也可能失败,或其它情况,可以根据不同情况不同的状态码表示。

常见的状态码
在这里插入图片描述

四、HTTPS

简单来说,Https是对Http的加密

非对称加密:加密和解密用同一个密钥。
对称密钥:加密和解密用不同密钥
若用公钥加密,那就用私钥解密
若用私钥加密,那就用公钥解密

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心事付流年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值