【网络编程】http协议

预备知识

什么是http协议

HTTP(Hypertext Transfer Protocol,超文本传输协议)是一个应用层的协议,用于在网络中传输超文本(如HTML文档)。HTTP协议建立在TCP/IP协议之上,是Web浏览器和Web服务器之间的主要通信协议。

URL介绍

URL(Uniform Resource Locator,统一资源定位符)是用于指定互联网上的资源地址的一种表示方法。它提供了访问互联网资源的路径和定位方式,使得人们可以通过浏览器或其他工具轻松访问这些资源。
URL的组成通常包括以下几个部分(用冒号分隔):
在这里插入图片描述
只有协议和域名(ip地址)是必须的,其余都是可选的
在这里插入图片描述
当提交或者获取的数据本身可能包含与url中特殊的字符冲突的字符,要求BS(Browser-Server)双方要进行编码和解码。将字符转为16进制,从右向左取4位,每两位做1为,前面加上%。
在这里插入图片描述

HTTP请求和响应

http request格式

在这里插入图片描述
在这里插入图片描述

http response格式

在这里插入图片描述

http的方法

在这里插入图片描述

get方法

GET 方法用于从指定的资源请求数据。它通常用于从服务器获取(或查询)某些信息。当使用 GET 方法时,请求的数据会附加到URL的查询部分(即URL的“?”后面的部分)

数据附加在URL中,因此长度有限制(浏览器和服务器都有URL长度的限制)。
GET 请求可以被缓存。
GET 请求可以保存在书签中。
GET 请求可以被浏览器收藏为搜索历史。
GET 请求通常用于从服务器获取数据,而不是发送数据到服务器。
GET 请求是幂等的,意味着多次相同的请求将返回相同的结果(除非资源本身发生变化)。
GET 请求的数据会暴露在URL中,因此不应包含敏感信息。

post方法

POST 方法用于向指定的资源提交数据,请求服务器进行处理(例如,提交表单或上传文件)。POST 请求将数据包含在请求体中,而不是附加到URL上。

请求的数据包含在请求体中,因此没有长度限制(但仍然受到服务器或客户端配置的限制)。
POST 请求不会被缓存。
POST 请求不会被保存在书签或搜索历史中。
POST 请求通常用于发送数据到服务器,而不是从服务器获取数据。
POST 请求不是幂等的,因为每次相同的请求都可能导致服务器上资源的状态发生变化。
POST 请求的数据不会暴露在URL中,因此适合包含敏感信息

表单

详见html教程
在这里插入图片描述
action表示把表单中的数据提交给谁
method表示表单以什么方式提交,一般是get或post

http状态码

在这里插入图片描述

临时重定向和永久重定向

1.临时重定向表示资源暂时被移动到了一个新的URL,但仍有可能返回原始URL。搜索引擎会继续抓取和索引原始URL,因为它们认为这是临时的变动。
常见的HTTP状态码为302(Found),意味着请求的资源现在临时从不同的URI响应请求。由于状态是临时的,客户端应当继续向原有地址发送以后的请求。
临时重定向的应用场景包括网站维护等需要暂时更改资源位置的情况。
2.永久重定向表示资源已经永久地移动到了一个新的URL。搜索引擎会更新它们的索引,将原始URL替换为新的URL。常见的HTTP状态码为301(Moved Permanently),意味着被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的URI。永久重定向对于SEO(搜索引擎优化)非常重要,因为它可以保留原始页面的权重和排名。同时,当多个域名需要指向同一网站时,也可以通过301永久重定向实现。对于客户端(如浏览器)来说,一旦执行了永久重定向,以后再次访问原始URL时,浏览器会直接访问重定向后的URL,而无需再次进行重定向。

http常见报头

在这里插入图片描述

  • 29
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值