易语言客户端请求http_http

什么是http?

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

http请求方法:

根据 HTTP 标准,HTTP 请求可以使用多种请求方法。

HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法。

HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。

GET:向指定的资源发出“显示”请求,使用 GET 方法应该只用在读取数据上,而不应该用于产生“副作用”的操作中。

HEAD:类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头。

POST:指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。数据被包含在请求文本中。这个请求可能会创建新的资源或者修改现有资源,或两者皆有。

PUT:从客户端向服务器传送的数据取代指定的文档的内容。

DELETE:请求服务器删除 Request-URI 所标识的资源。

OPTIONS:使服务器传回该资源所支持的所有HTTP请求方法。用*来代替资源名称,向 Web 服务器发送 OPTIONS 请求,可以测试服务器功能是否正常运作。

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

PTATCH:是对 PUT 方法的补充,用来对已知资源进行局部更新 。

CONNECT:HTTP/1.1 中预留给能够将连接改为通道方式的代理服务器。通常用于 SSL 加密服务器的链接(经由非加密的 HTTP 代理服务器)。

GET和POST请求的区别:

GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连。 POST方法是把提交的数据放在HTTP包的Body中。

GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制。

GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

GET请求会被浏览器主动cach,而POST不会,除非手动设置。

对参数的数据类型,GET只接受ASCII字符,而POST没有限制。

GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

GET产生一个TCP数据包;POST产生两个TCP数据包。(但有些浏览器下post产生一个数据包)

GET请求时幂等的,POST请求是不幂等的。(HTTP方法的幂等性是指一次和多次请求某一个资源应该具有同样的副作用)。

但GET和POST本质上并没有差别。具体可见:

99%的人都理解错了HTTP中GET与POST的区别

http状态码

1XX:提示信息—表示请求已接收,继续处理。

2XX:成功,操作被成功接收并处理。

3XX:重定向,需要进一步的操作以完成请求。

4XX:客户端错误,请求包含语法错误或无法完成请求。

5XX:服务器错误,服务器在处理请求的过程中发生了错误。

常用状态码:

100:继续。客户端应继续其请求。

101:切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议。

200:请求成功。一般用于GET与POST请求。

204:表示请求成功,但响应报文不含实体的主体部分。

301:永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替。

302:临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI。

303:查看其它地址。与301类似。使用GET和POST请求查看。

304:未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源。

400:客户端请求的语法错误,服务器无法理解。

403:服务器理解请求客户端的请求,但是拒绝执行此请求。

404:服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置”您所请求的资源无法找到”的个性页面。

405:客户端请求中的方法被禁止。

500:服务器内部错误,无法完成请求。

502:作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应。

503:由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中。

504:充当网关或代理的服务器,未及时从远端服务器获取请求。

HTTP 消息结构

客户端请求消息:

客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。

实例:

GET /hello.txt HTTP/1.1

User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3

Host: Example Domain

Accept-Language: en, mi

服务器响应消息:

HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。

实例:

HTTP/1.1 200 OK

Date: Mon, 27 Jul 2009 12:28:53 GMT

Server: Apache

Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT

ETag: “34aa387-d-1568eb00”

Accept-Ranges: bytes

Content-Length: 51

Vary: Accept-Encoding

Content-Type: text/plain

HTTP首部

《图解HTTP》——HTTP首部。

什么是HTTPS

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

HTTP和HTTPS的区别

HTTPS更加安全,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比HTTP协议的信息明文传输安全。

HTTPS 需要到 CA 申请证书,一般免费证书很少,需要交费。

端口号不同:HTTP默认端口号80,HTTPS默认端口号443。

状态不同:HTTP的连接很简单,是无状态的。而HTTPS协议是SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比HTTP协议安全;

http代理服务哪家好,找我:vx:cr630503725

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

滚动至顶部