欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 嵌入式知识点总结 网络编程 专题提升(二)-HTTP/IP

嵌入式知识点总结 网络编程 专题提升(二)-HTTP/IP

2025/2/24 17:49:46 来源:https://blog.csdn.net/weixin_64593595/article/details/145661757  浏览:    关键词:嵌入式知识点总结 网络编程 专题提升(二)-HTTP/IP

针对于嵌入式软件杂乱的知识点总结起来,提供给读者学习复习对下述内容的强化。

目录

1.什么是http协议?

2.http协议有什么特点?

3.https建立连接过程是什么?

4.http和https的区别是什么?https有什么优缺点?

5.请你说一说http返回码是什么?

6.http1.1和http1.0的区别?

7.请你说一下http协议会话结束标志怎么截出来?

8.请你说-说IP地址作用,以及MAC地址作用


1.什么是http协议?

HTTP(超文本传输协议,HyperText Transfer Protocol)是一种用于传输网页数据的协议,它定义了客户端(通常是浏览器)和服务器之间的通信规则。HTTP是无状态的,意味着每次请求都是独立的,服务器不会记住任何之前的请求信息。

HTTP协议的工作原理

请求:客户端(比如浏览器)发送HTTP请求到服务器。这个请求包括了请求方法(如GET、POST、PUT、DELETE等)、请求头(包含客户端信息、浏览器类型、语言等)以及请求体(在POST请求中,可能包含用户输入的数据)。

响应:服务器接收到请求后,会处理请求,并返回一个HTTP响应。响应包含了状态码(如200表示成功,404表示页面未找到)、响应头(包含服务器信息、内容类型等)以及响应体(即网页内容或其他数据)。

无状态:每个HTTP请求都是独立的,服务器不会记住客户端的状态。如果需要保持状态,通常会使用Cookies或会话(Session)来实现。

常见的HTTP状态码包括:

200 OK:请求成功,服务器返回了正常的响应。

404 Not Found:请求的资源不存在。

500 Internal Server Error:服务器内部错误。

2.http协议有什么特点?

简单快速
客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快

灵活
HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记

无连接
无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后即断开连接。采用这种方式可以节省传输时间。

无状态
HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

5.支持B/S及C/S模式。

ps:B/S模式是现代Web应用中最常见的架构。这里的“B”代表浏览器(Browser),而“S”代表服务器(Server)。在这种模式下,用户通过浏览器作为客户端,与服务器进行通信,浏览器通过HTTP协议向服务器发送请求,并接收服务器返回的响应。

C/S模式是传统的客户端与服务器架构。在这种模式中,客户端是专门的应用程序,用户通过客户端与服务器进行交互。客户端应用程序通过HTTP协议或其他协议(如TCP、UDP等)向服务器发送请求,服务器返回数据。

6.默认端口80

7.基于TCP协议

补充一下源根目标地址,通常出现在网络通信中,指的是数据传输的起点和终点。

源地址:源地址是指发送数据的设备的网络地址。它表示数据从哪里发送出来。当你访问一个网站时,源地址是你的设备的IP地址。

目标地址:目标地址是指接收数据的设备的网络地址。它表示数据的目的地。当你访问网站时,目标地址是网站服务器的IP地址。

3.https建立连接过程是什么?

HTTPS(超文本传输安全协议)是HTTP协议的加密版本,使用SSL/TLS协议在HTTP的基础上提供数据加密、完整性验证和身份认证。HTTPS的建立连接过程相对复杂,因为它涉及到加密和密钥交换等操作。下面是HTTPS建立连接的过程,通常称为TLS握手过程

1.客户端连接到Web服务器
一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。例如,http://www.baidu.com。
2.发送HTTP请求
通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。
3.服务器接受请求并返回HTTP响应
Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。
4.释放连接TCP连接
若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;
5.客户端浏览器解析HTML内容
客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。

4.http和https的区别是什么?https有什么优缺点?

HTTP(Hypertext Transfer Protocol):是一个明文传输协议,数据在传输过程中不加密,容易被中间人(如黑客)窃听、篡改或伪造。

HTTPS(Hypertext Transfer Protocol Secure):是HTTP协议的安全版本,通过在HTTP的基础上加入SSL/TLS加密层,使得数据在传输过程中被加密,提供了数据机密性、完整性和身份认证。

HTTPS的优缺点:

优点:

数据加密

HTTPS通过SSL/TLS协议对传输的数据进行加密,防止数据在传输过程中被窃听或篡改。即使数据被拦截,也无法被解读。

身份认证

HTTPS使用数字证书来验证服务器身份,确保用户访问的是合法的服务器,防止被伪造的网站欺骗。

数据完整性

在传输过程中,HTTPS能够检测数据是否被篡改,保证数据的完整性,防止中间人攻击(Man-in-the-Middle attack)。

提高用户信任

使用HTTPS的网站会在浏览器中显示“锁”图标,提示用户该网站是安全的,从而增加用户对网站的信任,特别是在处理敏感数据时。

SEO排名提升

搜索引擎(如Google)更倾向于为使用HTTPS的网站提供更高的排名,这有助于提升网站的曝光度。

缺点

性能开销

HTTPS需要进行加密和解密操作,尤其是在TLS握手过程中,增加了服务器和客户端的计算开销。虽然现代硬件可以快速处理,但相比于HTTP,HTTPS的性能会稍微差一些。

证书费用

许多证书颁发机构(CA)收取SSL/TLS证书费用,尤其是一些高信任级别的证书可能非常昂贵。虽然也有免费的证书(如Let's Encrypt),但一些高端证书仍需要付费。

配置复杂度

配置HTTPS需要获得并安装SSL/TLS证书,且要正确配置服务器。如果配置不当,可能导致安全问题或者性能下降。

兼容性问题

虽然现代浏览器和设备都支持HTTPS,但旧版浏览器或设备可能不完全支持最新的TLS版本,可能导致兼容性问题。

5.请你说一说http返回码是什么?

HTTP返回码(也称为状态码)是HTTP协议中用于表示服务器对客户端请求的处理结果的三位数字代码。它们出现在HTTP响应的首部,帮助客户端理解请求是否成功,以及如果失败的话,是什么原因。HTTP状态码按类别分为五个主要的范围,每个范围表示不同类型的响应:

1. 1xx:信息性状态码

这些状态码表示请求已接收,服务器正在继续处理请求。

100 Continue:服务器已接收到请求的初步部分,客户端可以继续发送请求的其余部分。

101 Switching Protocols:服务器同意客户端的请求,并转换到另一协议。

2. 2xx:成功状态码

这些状态码表示客户端的请求已成功被服务器接收、理解并处理。

200 OK:请求成功,服务器返回请求的内容。

201 Created:请求成功,并且服务器创建了新的资源(例如,POST请求成功后创建了一个新对象)。

202 Accepted:请求已被接受,但处理尚未完成。通常用于异步操作。

204 No Content:请求成功,但没有返回任何内容。常用于DELETE请求。

3. 3xx:重定向状态码

这些状态码表示客户端需要进一步的操作才能完成请求,通常是需要跟随服务器提供的重定向地址。

301 Moved Permanently:请求的资源已经永久移动到新的位置,客户端应使用新地址访问。

302 Found:请求的资源临时被移动到不同的位置。客户端应该继续使用原有的URL进行访问。

303 See Other:服务器响应请求后,客户端应该通过GET请求获取资源。

304 Not Modified:表示资源没有被修改,可以使用缓存中的版本。

307 Temporary Redirect:临时重定向,请求应使用原来的方法,但访问新的URL。

308 Permanent Redirect:永久重定向,请求应使用新的URL。

4. 4xx:客户端错误状态码

这些状态码表示客户端的请求有错误,服务器无法或不会处理该请求。

400 Bad Request:请求格式错误,服务器无法理解。

401 Unauthorized:客户端未提供认证信息,或者提供的认证信息无效。需要授权。

403 Forbidden:服务器理解请求,但拒绝执行。通常是因为权限问题。

404 Not Found:请求的资源在服务器上未找到,可能是URL错误或资源被删除。

405 Method Not Allowed:请求的方法不被允许,例如使用GET请求更新数据,服务器不允许。

408 Request Timeout:客户端请求超时,服务器等待超时后关闭连接。

410 Gone:请求的资源已经被永久删除,不再可用。

413 Payload Too Large:请求的实体太大,服务器无法处理。

414 URI Too Long:请求的URI(地址)过长,服务器无法处理。

5. 5xx:服务器错误状态码

这些状态码表示服务器未能正确处理客户端的请求,通常是服务器端的错误。

500 Internal Server Error:服务器遇到意外情况,无法完成请求。常见的500错误通常与服务器的配置或程序错误有关。

501 Not Implemented:服务器不支持请求的方法,无法处理。

502 Bad Gateway:服务器作为网关或代理时,从上游服务器收到无效响应。

503 Service Unavailable:服务器暂时无法处理请求,通常是因为过载或维护。

504 Gateway Timeout:服务器作为网关或代理时,没有及时收到上游服务器的响应。

505 HTTP Version Not Supported:服务器不支持客户端请求使用的HTTP协议版本。


6.http1.1和http1.0的区别?

HTTP/1.0

默认每次请求/响应后关闭连接。也就是说,每发送一个请求,客户端与服务器之间都会建立一次新的TCP连接,处理完请求后再关闭,导致了每个请求都需要重新建立连接,增加了延迟。

HTTP/1.1

引入了持久连接(Persistent Connection)。客户端和服务器之间的TCP连接在处理完一个请求后不会立即关闭,而是保持一段时间,可以用来处理后续的多个请求。通过使用Connection: keep-alive头部,可以使多个请求共享同一个连接,减少了连接建立和关闭的开销。


7.请你说一下http协议会话结束标志怎么截出来?

看tcp连接是否有断开的四部挥手阶段。

在HTTP协议中,会话结束标志通常是通过TCP连接关闭来表示的。具体而言,HTTP请求和响应的结束标志通常是在服务器或客户端关闭TCP连接时显现的。根据HTTP版本和设置的不同,结束标志的具体方式也有所不同。

截取会话结束标志,通常是通过观察以下几个方面:

Connection: close头部:表示会话结束。

TCP连接的关闭:通过查看TCP连接的状态(如通过netstat命令或网络抓包工具Wireshark等)来判断连接是否已经关闭。

8.请你说-说IP地址作用,以及MAC地址作用

IP地址用于网络层的寻址,确保数据可以跨网络进行转发。

MAC地址用于数据链路层的设备标识,确保数据能够在局域网内到达正确的设备。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词