HTTP基础知识

HTTP是超文本传输协议,用于从服务器传输数据到浏览器。它基于TCP/IP通信,规定了客户端与服务器间交互的规则。HTTP默认使用80端口,支持多种请求方法,如GET、POST。工作原理包括客户端发起请求,服务器响应,然后关闭连接。HTTP是无状态、媒体独立的,其连接是一次性的,但HTTP/1.1支持持久连接。状态码如200表示成功,404表示请求资源未找到。
摘要由CSDN通过智能技术生成

HTTP基础知识

1.基本内容

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

超文本传输协议(HTTP,Hyper Text Transfer Protocol)是一个简单的请求—响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器给什么的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。

HTTP是超文本传输协议,其中定义了客户端和服务器端之间文本传输的规范。HTTP默认使用80端口,这个端口指的是服务器端的端口,而客户端的端口是动态分配的。当我们没有指定端口访问时,浏览器会默认帮我们添加80端口。我们也可以自己指定访问端口。

  • 中文名: 超文本传输协议

  • 外文名: HTTP

  • 工作层: 应用层

  • 基 础 : 架构在TCP

  • 适用浏览器: Firefox、Google Chrome等

  • 作 用: 规定WWW服务器与浏览器之间信息传递规范

HTTP是应用层协议,同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。HTTP是一种协议规范,这种规范记录在文档上,为真正通过HTTP进行通信的HTTP的实现程序。

HTTP是基于B/S架构进行通信的,而HTTP的服务器端实现程序有httpd、nginx等,其客户端的实现程序主要是Web浏览器,例如Firefox、Internet Explorer、Google Chrome、Safari、Opera等,此外,客户端的命令行工具还有elink、curl等。

Web服务是基于TCP的,因此为了能够随时响应客户端的请求,Web服务器需要监听在80/TCP端口。这样客户端浏览器和Web服务器之间就可以通过HTTP进行通信了。

2.请求方法

HTTP/1.1协议中定义了8种请求方法,来表明Request-URL指定的资源不同的操作方式。

HTTP/1.0定义了三种请求方法:GET、POST、HEAD方法 。

HTTP/1.1新增了五种方法:OPTIONS 、PUT、CONNECT、DELETE、TRACE这五种方法。

方法 描述
GET 指定请求的页面内容,并返回实体主体
HEAD 类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头
POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据包含在请求体中。POST请求可能会导致新的资源的建立或已有资源的修改。
PUT 从客户端向服务器传送的数据取代指定的文档的内容。
DELETE 请求服务器删除指定的页面。
CONNECT HTTP1.1协议中预留给能够将连接方式改为管道方式的代理服务器。
OPTIONS 允许客户端查看服务器的性能。
TRACE 回显服务器收到的请求,主要用于测试或诊断。

3.工作原理

HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。

Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等。

Web服务器根据接收到的请求后,向客户端发送响应信息。

HTTP默认端口号为80,但是你也可以改为8080或者其他端口。

HTTP是基于客户/服务器模式,且面向连接的。典型的HTTP事务处理有如下的过程:

(1)客户与服务器建立连接;

(2)客户向服务器提出请求;

(3)服务器接受请求,并根据请求返回相应的文件作为应答;

(4)客户与服务器关闭连接。

img

img

HTTP三点注意事项:

  • HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
  • HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
  • HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快
1.HTTP特点

客户与服务器之间的HTTP连接是一种一次性连接,它限制每次连接只处理一个请求,当服务器返回本次请求的应答后便立即关闭连接,下次请求再重新建立连接。这种一次性连接主要考虑到WWW服务器面向的是Internet中

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MIME结构 一、 RFC822协议 RFC822 文档定义了邮件内容的主体结构和各种邮件头字段的详细细节,但是,它没有定义邮件体的格式,RFC822文档定义的邮件体部分通常都只能用于表述一段普通的文本,而无法表达出图片、声音等二进制数据。另外,SMTP服务器在接收邮件内容时,当接收到只有一个“.”字符的单独行时,就会认为邮件内容已经结束,如果一封邮件正文中正好有内容仅为一个“.”字符的单独行,SMTP服务器就会丢弃掉该行后面的内容,从而导致信息丢失。 由于 Internet的迅猛发展,人们已不满足于电子邮件仅仅是用来交换文本信息,而希望使用电子邮件来交换更为丰富多彩的多媒体信息,例如,在邮件中嵌入图片、声音、动画和附件。但是,由于图片和声音等内容是非ASCII码的二进制数据,而RFC822邮件格式只适合用来表达纯文本的邮件内容,所以,要使用 RFC822邮件格式发送这些非ASCII码的二进制数据时,必须先采用某种编码方式将它们“编码”成可打印的ASCII字符后再作为RFC822邮件格式的内容。邮件阅读程序在读取到这种经过编码处理的邮件后,再按照相应的解码方式解码出原始的二进制数据,这样就可以借助RFC822邮件格式来传递多媒体数据了。这种做法需要解决以下两个技术问题: (1) 邮件阅读程序如何知道邮件中嵌入的原始二进制数据所采用的编码方式; (2) 邮件阅读程序如何知道每个嵌入的图像或其他资源在整个邮件内容中的起止位置。 针对这个问题,人们后来专门为此定义了MIME(Multipurpose Internet Mail Extension,多用途Internet邮件扩展)协议。 .....
HTTP(HyperText Transfer Protocol)是一种用于在网络中传输超文本的协议。它是客户端和服务器之间进行通信的规则集。下面是一些HTTP协议基础知识: 1. HTTP通信是无状态的:HTTP协议本身不保留任何关于先前请求或响应的信息。每个HTTP请求都是独立的,服务器不会记住之前的请求。 2. 请求方法:HTTP定义了不同的请求方法,常用的有GET、POST、PUT、DELETE等。GET用于获取资源,POST用于提交数据,PUT用于更新资源,DELETE用于删除资源。 3. URL:统一资源定位符(URL)是用于标识和定位资源的地址。它由协议类型(如http://)、主机名、可选的端口号、路径和查询参数组成。 4. 请求头:HTTP请求包含一些元数据,称为请求头。请求头包含了一些关于请求的附加信息,如User-Agent、Accept-Language等。 5. 响应状态码:HTTP响应包含一个状态码,用于表示请求的处理结果。常见的状态码包括200(成功)、404(未找到)和500(服务器内部错误)等。 6. 响应头:HTTP响应也包含一些元数据,称为响应头。响应头包含了一些关于响应的附加信息,如Content-Type、Content-Length等。 7. 实体:HTTP请求和响应中的有效载荷称为实体。通常,在请求中,实体是要发送给服务器的数据;在响应中,实体是服务器返回的数据。 这些是HTTP协议的一些基础知识,希望对你有帮助!如有更多问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值