http是什么?,第1张

http是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议。

用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。

HTTP协议的主要特点可概括如下:

1、支持客户/服务器模式。

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

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

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

5、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。

另一方面,在服务器不需要先前信息时它的应答就较快。

HTTP请求的方法:

HTTP/11协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式

1、OPTIONS

返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘’的请求来测试服务器的功能性

2、HEAD

向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。

3、GET

向特定的资源发出请求。它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。

4、POST

向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 Loadrunner中对应POST请求函数:web_submit_data,web_submit_form

5、PUT

向指定资源位置上传其最新内容

6、DELETE

请求服务器删除Request-URL所标识的资源

7、TRACE

回显服务器收到的请求,主要用于测试或诊断

8、CONNECT

HTTP/11协议中预留给能够将连接改为管道方式的代理服务器。

1需求

了解服务端如何处理http请求,了解基本的处理流程

2实战

处理http请求分为7个步骤

21 Tcp连接

建立一条tcp链接,(若之前不存在持久链接keep-alive),把客户端的ip和port,服务端的ip和port数据放到web服务器连接表中。服务器随时监听链接表中的链接,看有没有数据变化

22 接收http请求

一旦我们发送http请求了,这条tcp链接就开始工作了。因为web服务器链接表中有许多链接需要被处理,处理的方式有单线程,多线程这些(这些涉及操作系统的知识)。

23 处理http请求

处理的过程大致是把请求的信息解析出来,如下图

 

24 访问资源

访问资源可以是访问静态资源,这个就直接根据url地址去服务器里找就好了。

访问动态资源的话要经过一个叫cgi的东西,再用服务端脚本处理,再返回给前端。如下图所示

25 构建响应

要是找到资源,则构建响应信息,包括响应的对象类型,长度,状态码。

另一个情况是重定向响应,就是直接返回一个重定向,客户端看到之后,立刻再向重定向的地址发起请求。重定向的响应的状态码一般是3xx。

26 发送响应

把构建的响应发送给客户端

27 记录日志

服务端对这个请求响应过程进行记录。(另外专门再讲)

 

3总结

以上是服务端处理http请求的大致过程。能让大家有个大致轮廓,当然里面有很多细节的知识没讲到,要另外查询资料并学习

HTTP协议通常承载于TCP协议之上;有时也承载于TLS或SSL协议层之上,也就是我们常说的HTTPS。

大部分网站采用HTTP协议进行交互,目前仍有大量的客户端采用HTTP协议进行交互。但是随着安全等级的提升,这些交互逐渐被HTTPS协议取代;

一次HTTP操作称为一个事务,其工作过程可分为五步:

所有流程,均由HTTP请求自动完成。如果在以上过程中的某一步出现错误,那么产生错误的信息将返回,客户端做对应处理。可以是客户端直接与服务器进行交互,也可能在请求中间增加代理。

HTTP基于传输层TCP协议,而TCP是一个端到端的面向连接的协议。所谓的端到端可以理解为进程到进程之间的通信。所以HTTP在开始传输之前,首先需要建立TCP连接,而TCP连接的过程需要所谓的“三次握手”。盗用下图所示TCP连接的三次握手:

由于服务器的IP或者域名都是相对固定的,而客户端可能经常发生变化,因此HTTP协议似乎永远是客户端(Client)发起请求,服务器(Server)返回响应,Request和Response成对出现。同时,如果客户端没有主动请求,很难实现由服务端向客户端推送数据。

HTTP协议的主要特点可概括如下:

1、支持客户端/服务器模式,支持基本认证和安全认证。

2、简单快速

3、灵活

4、可以持续连接

5、无状态

URL(Uniform Resource Locator)格式, http://wwwxxxxxxcom/images/iconpng ;

地址用于描述一个网络上的资源,使用协议+host+path的方式,基本格式如下:

Accept

Accept-Encoding

Accept-Language

Accept-Charset

User-Agent

Content-Type

Referer

Connection:

Host

Cookie

Content-Length

Authorization

UA-Pixels,UA-Color,UA-OS,UA-CPU

Range

HTTP/11协议,共定义了八种方法,用来表明Request-URI指定的资源的不同操作方式:

GET

POST

PUT

DELETE

OPTIONS

HEAD

TRACE

CONNECT

PATCH

方法名称区分大小写。当某个请求所针对的资源不支持对应的请求方法的时候,服务器返回状态码405(Method Not Allowed);当服务器不认识或者不支持对应的请求方法的时候,应当返回状态码501(Not Implemented)。

HTTP服务器至少应该实现GET和HEAD方法,其他方法都是可选的。此外,除了上述方法,特定的HTTP服务器还能够扩展自定义的方法。

包含:状态行、消息报头、响应正文。

每一次请求,都会产生一个响应。一般使用状态码,粗略区分请求是否成功。如果一切正常,一个标准网页会收到一条200的状态码;错误有对应的错误码,常见的有403、404、500等。

下面列出所有错误码:

发现了一个趣味状态码图,喜欢可以点击: https://wwwtoutiaocom/i6628119994469204484/

Allow

Date

Expires

P3P

Set-Cookie

ETag

Last-Modified

Content-Type

IANA(The Internet Assigned Numbers Authority,互联网数字分配机构)定义了8个大类的媒体类型,分别是:

Content-Range

Content-Length

Content-Encoding

Content-Language

Server

X-AspNet-Version

例如: X-AspNet-Version: 4030319

X-Powered-By

Connection

Location

Refresh

HTTPS

SSL

TLS

对称加密

非对称加密

证书包括内容:

客户端在接受到服务端发来的SSL证书时,会对证书的真伪进行校验,以浏览器为例说明如下:

所以通过发送SSL证书的形式,既解决了公钥获取问题,又解决了黑客冒充问题,一箭双雕,HTTPS加密过程也就此形成

所以相比HTTP,HTTPS 传输更加安全

HTTPS 缺点:

综上所述,相比 HTTP 协议,HTTPS 协议增加了很多交互、加密解密等流程,保证数据传输的安全,很大程度上避免了黑客的攻击。

HTTP全称是HyperText Transfer Protocal,即超文本传输协议,从1990年开始就在WWW上广泛应用,是现今在WWW上应用最多的协议,HTTP是应用层协议,当你上网浏览网页的时候,浏览器和web服务器之间就会通过HTTP在Internet上进行数据的发送和接收。HTTP是一个基于请求/响应模式的、无状态的协议。即我们通常所说的Request/Response。

HTTP特点:

支持客户端/服务器模式

简单快速:客户向服务器请求服务时,只需传送请求方法和路径。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快

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

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

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

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » http是什么?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情