网络 || http协议

本文详细介绍了HTTP的概念,包括超文本、URL和HTTP协议的定义。HTTP是用于在Web上传输超文本文档的协议,通过URL定位资源,使用GET和POST等方法进行数据交互。此外,解释了HTTP的无状态性和持久性连接,并讨论了GET与POST方法的区别。HTTP代理服务器在中间起到缓存和转发请求的作用。最后,概述了HTTP请求/响应交互模型和报文结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是超文本(Hyper Text)

包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。这些超文本文件彼此链接,形成网状(Web),因此又被称为网页(Web Page)。这些链接使用URL表示。最常见的超文本格式是超文本标记语言HTML。

什么是URL?

URL即统一资源定位符(Uniform Resource Locator),用来唯一地标识万维网中的某一个文档。URL由协议、主机和端口(默认为80)以及文件名三部分构成。例如:http://www.sxtyu.com:80/news/index.html。

协议:// 主机:端口(80) 文件名及其路径。

什么是超文本传输协议HTTP?

是一种按照URL指示,将超文本文档从一台主机(Web服务器)传输到另一台主机(浏览器)的应用层协议,以实现超链接的功能。

http是什么?

http:超文本传输协议 hyper text tranfer protocol。

做什么用的?

作用:在网上传输web页面。http协议是在浏览器和web服务器之间使用,用来传输网页
所有的浏览器都懂http协议。

爬虫模块:python,java里的,都能读懂http协议。

所有的web服务器:nginx,tomcat,IIS,python,web,go web框架,java web框架都能读懂http协议。

html是编写网页的语言,index.html文件。

site 站点:一个网站。

报文 segment(Message):封装了数据的数据。

段:传输层的数据格式。

udp:user datagram protocol(用户数据报协议)。

HTTP的连接方式和无状态性

非持久性连接

即浏览器每请求一个Web文档,就创建一个新的连接,当文档传输完毕后,连接就立刻被释放。
HTTP1.0、HTTP0.9采用此连接方式。

对于请求的Web页中包含多个其他文档对象(如图像、声音、视频等)的链接的情况,由于请求每个链接对应的文档都要创建新连接,效率低下。

持久性连接

即在一个连接中,可以进行多次文档的请求和响应。服务器在发送完响应后,并不立即释放连接,浏览器可以使用该连接继续请求其他文档。连接保持的时间可以由双方进行协商。

无状态性

是指同一个客户端(浏览器)第二次访问同一个Web服务器上的页面时,服务器无法知道这个客户曾经访问过。HTTP的无状态性简化了服务器的设计,使其更容易支持大量并发的HTTP请求。

session和cookie技术:可以保留用户的信息。

cookie:web服务器让浏览器保持用户的信息,信息保持到客户端,放到浏览器的cookie(存放数据的地方)session:用户的信息保持在服务器端。

请求/响应交互模型

用户点击URL为http://www.sxtyu.com/index.html的链接后,浏览器和Web服务器执行以下动作:

1.浏览器分析超链接中的URL。

2.浏览器向DNS请求解析www.sxtyu.com的IP地址。

3.DNS将解析出的IP地址202.2.16.21返回浏览器。

4.浏览器与服务器建立TCP连接(80端口)。

5.浏览器请求文档:GET /index.html。

6.服务器给出响应,将文档 index.html发送给浏览器。

7.浏览器显示index.html中的内容。

8.释放TCP连接。

HTTP报文结构

首部字段:就是请求报文的头部封装里需要封装的内容,是可以自己调整的,可增加可减少。

请求报文

响应报文

请求的方法

GET和POST方法的区别?

都是客户机想获取服务器的资源--》用来告诉服务器的方法。

1、发送的数据数量

GET:只能发送有限数量的数据,因为数据是在 URL 中发送的。

POST:可以发送大量的数据,因为数据是在正文主体中发送的。

2、安全性

GET:在URL里可以看到。

POST:不在URL里显示,是通过表单传输。

3、加入书签中

GET :查询的结果可以加入书签中,因为它以 URL 的形式存在。

POST :查询的结果无法加入书签中。

4、编码

GET:在表单中使用数据类型只接受 ASCII 字符。

POST:在表单提交时不绑定表单数据类型,允许二进制和 ASCII 字符。

5、可变大小

GET :可变大小约为 2000 个字符。

POST :最多允许 8 Mb 的可变大小。

6、缓存

GET :数据是可缓存的。

POST :数据是无法缓存的。

7、主要作用

GET :主要用于获取信息。

POST :主要用于更新数据。

响应报文中的状态码

状态码(Status-Code)是响应报文状态行中包含的一个3位数字,指明特定的请求是否被满足,如果没有满足,原因是什么。状态码分为以下五类:

首部字段或消息头

什么是HTTP代理?

HTTP代理又称Web缓存或代理服务器(Proxy Server),是一种网络实体,能代表浏览器发出HTTP请求,并将最近的一些请求和响应暂存在本地磁盘中,当请求的Web页面先前暂存过,则直接将暂存的页面发给客户端(浏览器),无须再次访问Internet。

使用HTTP代理的Web访问过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

韩未零

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

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

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

打赏作者

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

抵扣说明:

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

余额充值