导航:首页 > 编程语言 > phphttp协议详解

phphttp协议详解

发布时间:2022-09-10 05:43:02

㈠ 什么是ftp,http,SQL,php,NAT

FTP是FileTransferProtocol的缩写,中文翻译为"文件传输协议"。它是在计算机和网络之间交换文件的最简单的方法。像传送可显示文件的HTTP和电子邮件的SMTP一样,FTP也是应用TCP/IP协议的应用协议标准。FTP通常用于将网页从创作者上传到服务器上供人使用,而从服务器上下传文件也是一种非常普遍的使用方式。
你可以用非常简单的DOS界面来使用FTP,在Windows98中,单击"开始→运行",输入FTP后面接着输入主机IP地址或网址(注意,不要加上http://),例如输入:www.intodigi.com,就可以连接到笔者的网站,连接后会出现User(用户名)和password(密码),连接成功后,就可以用命令来操作。常用的有dir:显示此目录下的文件get:下载文件put:上传文件。或者使用第三方提供的图形界面的FTP来更新(删除,重命名,移动和复制)服务器上的文件,一般的FTP软件还支持续传的功能。现在有许多服务器支持匿名登录,允许用户使用FTP和anonymous作为用户名进行登录,通常可使用任何口令或只按回车键。

HTTP(Hypertext Transfer Protocol),即超文本传输协议。是WWW浏览器和WWW服务器之间的应用层通讯协议。HTTP协议是基于TCP/IP之上的协议,它不仅保证正确传输超文本文档,还确定传输文档中的哪一部分,以及哪一部分内容首先显示(如文本先与图形)等等

SQL是一种编程语言,下面对其进行一个详细介绍:

SQL(Structure Query Language)语言是数据库的核心语言。
SQL的发展是从1974年开始的,其发展过程如下:
1974年-----由Boyce和Chamberlin提出,当时称SEQUEL。
1976年-----IBM公司的Sanjase研究所在研制RDBMS SYSTEM R
时改为SQL。
1979年-----ORACLE公司发表第一个基于SQL的商业化RDBMS产品。
1982年-----IBM公司出版第一个RDBMS语言SQL/DS。
1985年-----IBM公司出版第一个RDBMS语言DB2。
1986年-----美国国家标准化组织ANSI宣布SQL作为数据库工业标准。
SQL是一个标准的数据库语言,是面向集合的描述性非过程化语言。
它功能强,效率高,简单易学易维护(迄今为止,我还没见过比它还好
学的语言)。然而SQL语言由于以上优点,同时也出现了这样一个问题:
它是非过程性语言,即大多数语句都是独立执行的,与上下文无关,而
绝大部分应用都是一个完整的过程,显然用SQL完全实现这些功能是很困
难的。所以大多数数据库公司为了解决此问题,作了如下两方面的工作:
(1)扩充SQL,在SQL中引入过程性结构;(2)把SQL嵌入到高级语言中,
以便一起完成一个完整的应用。
二 SQL语言的分类

SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,
数据定义语言DDL,数据控制语言DCL。

1 数据查询语言DQL
数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE
子句组成的查询块:
SELECT <字段名表>
FROM <表或视图名>
WHERE <查询条件>

2 数据操纵语言
数据操纵语言DML主要有三种形式:
1) 插入:INSERT
2) 更新:UPDATE
3) 删除:DELETE

3 数据定义语言DDL
数据定义语言DDL用来创建数据库中的各种对象-----表、视图、
索引、同义词、聚簇等如:
CREATE TABLE/VIEW/INDEX/SYN/CLUSTER
| | | | |
表 视图 索引 同义词 簇

4 数据控制语言DCL
数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制
数据库操纵事务发生的时间及效果,对数据库实行监视等。如:
1) GRANT:授权。
2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。
回滚---ROLLBACK
回滚命令使数据库状态回到上次最后提交的状态。其格式为:
SQL>ROLLBACK;
3) COMMIT [WORK]:提交。
在数据库的插入、删除和修改操作时,只有当事务在提交到数据
库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看
到所做的事情,别人只有在最后提交完成后才可以看到。
提交数据有三种类型:显式提交、隐式提交及自动提交。下面分
别说明这三种类型。
(1) 显式提交
用COMMIT命令直接完成的提交为显式提交。其格式为:
SQL>COMMIT;
(2) 隐式提交
用SQL命令间接完成的提交为隐式提交。这些命令是:
ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,
EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。
(3) 自动提交
若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,
系统将自动进行提交,这就是自动提交。其格式为:
SQL>SET AUTOCOMMIT ON;

PHP是一个基于服务端来创建动态网站的脚本语言,您可以用PHP和HTML生成网站主页。当一个访问者打开主页时,服务端便执行PHP的命令并将执行结果发送至访问者的浏览器中,这类似于ASP和CoildFusion,然而PHP和他们不同之处在于PHP开放源码和跨越平台,PHP可以运行在WINDOWS NT和多种版本的UNIX上。它不需要任何预先处理而快速反馈结果,它也不需要mod_perl的调整来使您的服务器的内存映象减小。PHP消耗的资源较少,当PHP作为Apache Web服务器一部分时,运行代码不需要调用外部二进制程序,服务器不需要承担任何额外的负担。

除了能够操作您的页面外,PHP还能发送HIIP的标题。您可以设置cookie,管理数字签名和重定向用户,而且它提供了极好的连通性到其它数据库(还有DBC),集成各种外部库来做用PDF文档解析XML的任何事情。

有了PHP就无需特殊的开发环境和IDE,您可以以<?php 作为程序块的开始,可以以 ?>作为PHP代码块的结束,当然您也可以用带有 <% %>的标记甚至用<script LANGUAGE=“php”></script>的ASP的格式来配置 PHP,PHP会在那些标志间处理所有的事情。

PHP的编程语言类似与C和Perl。在使用它们之前您没必要声明任何变量,而且建立数组和Hash是很简单的事情。PHP还有一些面向对象的特征,可以为组织和打包您的代码提供很好的帮助。

虽然PHP在Apache里能快速运行,但是在PHP网站里有一些用来对Microsoft IIS 和 Netscape Enterprise Serer无缝结合的指令集。如果您还没有 PHP的话,您可以在 http: //www.php.com 下载,您也可以使用操作手册,它里边包括了所有的关于PHP的功能和特性的说明

网络地址转换 (NAT) 是一个 Internet 工程任务组 (Internet Engineering Task Force,IETF) 标准,用于允许专用网络上的多台 PC (使用专用地址段,例如 10.0.x.x、192.168.x.x、172.x.x.x) 共享单个、全局路由的 IPv4 地址。IPv4 地址日益不足是经常部署 NAT 的一个主要原因。Windows XP 和 Windows Me 中的“Internet 连接共享”及许多 Internet 网关设备都使用 NAT,尤其是在通过 DSL 或电缆调制解调器连接宽带网的情况下。

NAT 对于解决 IPv4 地址耗费问题 (在 IPv6 部署中却没必要) 尽管很有效,但毕竟属于临时性的解决方案。这种 IPv4 地址占用问题在亚洲及世界其他一些地方已比较严重,且日渐成为北美地区需要关注的问题。这就是人们为什么长久以来一直关注使用 IPv6 来克服这个问题的原因所在。

除了减少所需的 IPv4 地址外,由于专用网络之外的所有主机都通过一个共享的 IP 地址来监控通信,因此 NAT 还为专用网络提供了一个隐匿层。NAT 与防火墙或代理服务器不同,但它确实有利于安全。

㈡ HTTP协议有什么局限性

HTTP协议全称Hyper Text Transfer Protocol,翻译过来就是超文本传输协议,位于TCP/IP四层模型当中的应用层。

作用:在浏览器与服务器间传送文档。

HTTP(Hyper Text Transfer Protocol) 超文本传输协议,是基于应用层(TCP/IP参考模型)的通信规范;是从Web服务器传输超文本到客户端的传输协议,无状态的传输协议;不仅能够保证正确、快速、高效的传输超文本文档,而且可以确定资源加载顺序等。

在Web开发中,页面缓存控制、数据传递、文档语言参数设定等等,都离不开HTTP协议。HTTP协议是整个Web应用的基础,深入理解HTTP协议,是每个PHP开发工程师必须掌握的知识。

(2)phphttp协议详解扩展阅读


HTTP 协议的特征:

1、HTTP 协议简单,请求一个网页时,只需发送请求方法(GET/POST/…)和资源路径(URI)。

2、HTTP 是无状态协议,本身对事务处理没有记忆能力,但是有专门的技术为HTTP请求提供会话能力:Cookie/Session。

3、HTTP 采用问答式交互模型,每次连接只处理一个请求。

4、HTTP 是标准的C/S模型。

5、HTTP 允许传递数据对象类型丰富,由报头Content-Type标识。

㈢ http和PHP HTML有啥关系吗

http 是一种传输协议,你看看你浏览器的地址栏开头,是个http吧
PHP是一种动态网页编程语言
HTML是一个网页的文件格式 也是一种标记语言。可以别浏览器解释
关系就是它们都跟网页有那么点联系

㈣ URL&HTTP协议详解

整理了网课的PPT和老师的知识要点笔记:

URL :统一资源定位符,一般来说,一个URL由5个部分构成:

protocol,domain,port,path,URL parameters。

protocaol :协议,协议是指通信双方对于通信所采用的数据的组织格式,规程,含义等所做的一个约定。协议是分层的(参考OSI,TCP/IP),通常来说,接口测试中使用到的协议是位于应用层的协议。常见的协议有:http(HypeText Transfer Protocal)https(http+ssl),ftp,ssh,smtp,pop3,mysql,oracle等。

Domain :域名,是我们要访问的服务器的机器名,域名,ip地址等。有一些接口文档中没有给出域名,要根据测试环境的服务器来决定这个参数。

Port :端口号,在域名之后domain:port。端口号是由服务器(软件)来设置指定的,服务器就会去时刻不停地监听用户发送到指定端口的请求。如果服务器设定的端口和其所用的通信协议是默认的对应关系,则用户在使用url访问服务时,端口可以省略。端口好的范围为0-65535,一般自定义端口号使用10000以后的比较安全,不会和一些默认协议端口冲突。常见的协议以及对应的默认通信端口为:

http:80                 https:443/8443              ssh:22

ftp:21                   smtp:25                         pop3:110

mysql:3306         oracle:1521

path:是指端口之后的所有内容,path通常是指我们要访问的资源or服务在服务器的容器路径下的绝对地址。

url parameters:url地址参数,是以问好?作为链接符,拼接在path之后的,url地址参数采用键值对的方式,多个键值对之间使用&作为链接符。

注意:从协议的角度,url是没有长度限制,但是很多浏览器对url的长度作出了限制,所以不能把所有参数都放在url中,可以放在请求体中。

http协议:超文本传输协议,是BS应用中普遍使用的一种协议。目前来说,该协议因其本身的快速,灵活的特性,已经在很多领域得到广泛的应用。

特点:

1. http协议是一种基于request和response的协议

2. http协议是一种简单,灵活的协议,只需要指定方法,url即可实现访问。

3. http协议是一种无链接,快速的协议。

http的无链接是指短链接(信息头中的标识connection:close)从http1.1版本开始,默认已经变更为长链接(信息头中的标识connection:keep-alive)

短链接:一个tcp链接之上只能建立一个http链接,http链接关闭,则对应的tcp链接也会关闭。

长链接:一个tcp链接之上可以建立多个http链接,heep链接关闭,tcp链接不会关闭,直到收到关闭信号位置。

http2.0实现了多路复用,但还是基于tcp协议的。

http3.0计划将弃用tcp协议,使用udp协议。

4. http协议是一种无状态的协议,后引入了session和cookie机制来维持状态。

http request:http请求,通常包含三个部分:request line,request headers,request body。

request line :请求行,是指请求数据包中的第一行内容:

eg:GET /phpwind/  HTTP/1.1

request method请求方法+request path请求路径+ protocol协议/version协议版本

request method请求方法:如果没有指定,将使用默认的方法get

get和post:都是请求方法,都可以向服务器传递数据,区别在于,如果使用get方法发送数据,数据将组织在url地址参数中,使用post方法发送数据,数据将位于请求主体中。

post方法比get方法要安全,并不是因为参数的组织形式,而是因为post方法请求在客户端是不会缓存的,而get方法请求在客户端是会有缓存的。

request headers: 请求头,是指从第二行开始到第一个空行截止的部分。请求头是客户端用于和服务器进行信息交互,控制的一个部分,通常来说和业务无关,请求头中的参数是键值对形式的,每对参数都是有特殊作用的。常见的请求头参数:

User-agent:是用来告知服务器,客户端的一些节本信息,服务器是通过该信息来识别客户端。通常来说session是和该信息头有关,建议全局统一。

content-type:如果请求主体有内容,则该信息头必须加上,是用于指定请求主体中参数的形式的。

cookie,auth,token:是和鉴权相关的信息。postman会自动管理和保存请求的cookie,而Jemeter需要添加自己添加cookie管理器来保存请求cookie。

在接口测试抓包时,还要关注accept-encoding参数,如果是gzip,表示接口回传的数据是压缩过的。接口测试的时候需要指定这个参数,不然发起的接口测试的压力和实际使用接口时会差别很大。

带上accept-encoding:gzip,deflate时,返回的数据大小是13277bytes

disable HTTP信息头管理器之后,返回数据的大小变成了54191byte:

如果是多语言的接口,还需要关注头文件中的Accept-Language。

request body:请求主体,是指从第一个空行之后的所有内容。通常来说请求主体就是我们的客户端所封装的数据。客户端封装数据的格式是由客户端(产品,接口)来决定的,我们只能遵循,不能自定义。

掌握http请求的构成和要点之后,就能够帮助我们去完成基本的接口脚本的封装。

http response:http响应,通常来说,http响应也是由三部分构成:response line,response header,response body。

response line:响应行,是指响应数据包的第一行。

eg:HTTP/1.1  200 OK

protocol/version +response code + response message

response code:响应状态码,是服务器用来告知客户端,服务器对请求的处理状态,这里的处理状态仅仅是从通信逻辑上的处理状态,而不是业务逻辑的处理状态。

响应状态码通常是由3位长度的数字构成,根据首位数字的不同,可以分为5类:

1**:表示链接建立过程中的通信,交互信息。

2**:表示服务器处理成功,典型的是200。

3**:表示重定向。

1**,2**,3**都表示客户端和服务器通信是成功的,但是最终业务是否正确,还是要根据对响应主体的检测才可以判断。

4**:表示客户端错误。404

5**:表示服务器错误。

websocket:简称ws协议,本质上是双方先使用http协议建立链接,然后再升级申请专属的tcp链接。

老师使用的抓包工具HttpWatch:

㈤ PHP语言解释

Header函数的功能是输出 HTTP 协议的标头到浏览器。

//设置地址被永久的重定向
header('HTTP/1.1 301 Moved Permanently');

//转到一个新网址,这个网址由变量$siteurl和$request_uri动态生成
header('Location: '.$siteurl.$request_uri);

还有很多其他的header,具体请查阅html手册,以下是一些相对常用的:

范例一: 本例用来重导用户到 PHP 的官方网站。
<?php
Header("Location: http://www.php.net");
exit;
?>

范例二: 欲让用户每次都能得到最新的资料,而不是 Proxy 或 cache 中的资料,可以使用下列的标头
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

范例三: 让用户的浏览器出现找不到文件的信息。
<?php
header("Status: 404 Not Found");
?>

范例四: [email protected] (28-Apr-1999) 提供让用户下载文件的范例。
header("Content-type: application/x-gzip");
header("Content-Disposition: attachment; filename=some-file.tar.gz");
header("Content-Description: PHP3 Generated Data");

㈥ 什么是HTTP协议响应流

一般情况下,服务器接收并处理客户端发过来的请求后会返回一个HTTP的响应消息。

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

第一部分:状态行,由HTTP协议版本号, 状态码, 状态消息 三部分组成。

第一行为状态行,(HTTP/1.1)表明HTTP版本为1.1版本,状态码为200,状态消息为(ok)

第二部分:消息报头,用来说明客户端要使用的一些附加信息

第二行和第三行和第四行为消息报头,

Date:生成响应的日期和时间;Content-Type:指定了MIME类型的HTML(text/html),编码类型是ISO-8859-1

第三部分:空行,消息报头后面的空行是必须的

第四部分:响应正文,服务器返回给客户端的文本信息。

空行后面的html部分为响应正文。

阅读全文

与phphttp协议详解相关的资料

热点内容
编译器原理与实现书 浏览:708
dos选择命令 浏览:16
apm固件编译到单片机 浏览:120
联通深蓝卡都包含什么app 浏览:263
如何判断网络服务器正常 浏览:649
路由器搭桥远端服务器地址是什么 浏览:515
编译动态库时会连接依赖库吗 浏览:707
淘宝手机加密是随机的吗 浏览:672
解压包子怎么装饰 浏览:585
四个数凑24算法 浏览:676
哪一种不是vi编译器的模式 浏览:169
xp在此处打开命令窗口 浏览:128
代码编译运行用什么软件 浏览:999
动态库在程序编译时会被连接到 浏览:761
python超简单编程 浏览:260
获取命令方 浏览:977
怎样制作文件夹和图片 浏览:60
调研编译写信息 浏览:861
python冯诺依曼 浏览:419
同时安装多个app有什么影响 浏览:254