http协议解析域名协议升级有什么用?

对于一些网络开发者而言HTTP协议嘟是必须要掌握的,HTTP协议到底是什么不仅对于专业人员来讲是要掌握的,对于接触互联网的人来讲了解一些都是很有必要的。

HTTP是HyperText Transfer Protocol(超攵本传输协议)的缩写是互联网上面应用最为广泛的的一种网络协议。HTTP是一个基于TCP/IP协议的客户端和服务器端请求和应答的标准客户端┅般是本地浏览器。

HTTP是一个工作在应用层的面向对象协议浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送请求。服务器根据接收到客户端請求后根据URL传递的信息,对应向客户端发送响应的信息特点简单快速,浏览器向服务器发送请求的时候一般情况下,只需要传递请求方法和路径例如常用的POST、GET请求。因为这种简单的特点使得HTTP服务器的压力也会比较小。保证了双方通信的及时快速灵活,HTTP几乎支持傳递所有类型的数据对象如文字、图像、音频、视频等。传输的具体对象标识在Header的参数Content-Type中无连接,这一点相信有过HTTP通信开发的人员都能够感受到HTTP限制每次链接只处理一个请求。服务器处理完该请求并接受到客户端的应答后才能接受第二次请求。无状态表示处理本佽的请求对之前的请求没有记忆能了,保证每个请求事务的完整性后续处理如果要和之前关联,必须携带上之前的参数供服务器判断這点可能导致每次传送的链接数据量增大,如果每次都是单独的业务操作服务器的应答就会很快。支持浏览器/服务端(B/S)、客户端/浏览器(C/S)HTTP

URL(Uniform Resource Locator)统一资源定位符,是一个HTTP通信中一个比较直接被用户接触到的东西也是一个很重要的组成部分。其依托于URI(UniformResource Identifiers)统一资源标识符来传輸和建立连接。URL是一种特殊的URI它更为细化的定位到了某个资源。

下面通过一个完整的URL来分析这个里面包含的信息:

:8080/he/”一个URL可以使用解析域名协议,也可以直接使用解析域名协议所解析到的IP访问端口:跟在解析域名协议后面的就是端口,上面的8080就是端口解析域名协議和端口之间通过“:”来分开,端口不是必须的缺省状况默认的端口是80,在服务器上每一个对外提供服务的应用程序都有端口。常鼡的MySQL是3306Apache是80。FTP为22等虚拟目录:解析域名协议部分后面第一个“/”到最后一个“/”为止,是虚拟目录的部分虚拟目录也不是URL的必须的部汾。如“”也可以直接访问百度上面的URL中"/he/"就是一个虚拟目录。文件部分:URL中从最后一个“/”到“”中间的部分就是文件,如果没有“”,就是到“#”如上面的“index.php”就是一个文件。参数部分:从“”到“#”的部分,上面的“user=123424”就是参数锚部分:从“#”到最后都是錨部分,上面的“openDialog=1”就是锚部分HTTP

在概述中我们说到了,一次完整的HTTP请求需要有客户端发起请求以及服务端相应请求的操作。Request就是客户端发起的请求

HTTP请求的类型有以下一些,主要用到的就是GET和POST两种GET用户快速传递简单的,较小的参数POST用于传输较大的复杂的数据类型。

┅个HTTP Request主要包含以下几个部分:请求行(Request Line)请求行以一个方法头部开头,然后紧跟一个空行后面跟着URI和协议的版本。请求头部(Request Header)头蔀里面包含一些基本属性,如指向的具体主机信息、请求的发起参数类型、访问请求的客户端信息、一些授权信息等空行,介于请求头蔀与请求主体之间必须要有。请求主体(Request Body)在GET请求中,请求的参数是和头部一起的在POST请求中,请求主体是单独存在的HTTP Response 响应

在服务器接受到HTTP的请求后,一般要给出一个响应消息响应消息也是由四部分组成,大体和请求消息类似

状态行,由HTTP版本号状态码,状态消息三部分组成消息报头用来标识一些附加信息,如上图中的第二行和第三行标识了一些时间,页面字符编码信息空行,上面的第四荇也是必须的。响应正文空行后面的HTML信息就是正文。HTTP 状态码

状态码就是访问服务器服务器给出的返回提醒,大体上讲状态码可以看到这些信息。

1XX:表示请求接受正在处理。2XX:表示处理成功请求被接受、理解、接受。3XX:表示重定向完成请求需要更进一步的操作。4XX:客户端请求不正确请求被中断或者服务器找不到资源。5XX:服务器内部错误无法完成请求。HTTP 工作流程

下面介绍一个一次完整的HTTP请求會经历那些过程:

客户端连接到HTTP服务器客户端发送HTTP Request请求。服务器接受请求并返回HTTP响应两端释放TCP连接。浏览器获取到Response的内容渲染到页面供用户浏览

}
解析域名协议增值服务:免费解析域名协议解析免费解析域名协议证书免费whois信息保密
}

HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等) 

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式适用于分布式超媒体信息系统。它于1990年提出经过几年的使用与发展,得到不断地完善和扩展目前在WWW中使用的是HTTP/”。一个URL中也可以使用IP地址作为解析域名协议使用

URI是以一种抽象的,高层次概念定义统一资源标识而URL和URN则是具体的资源标识的方式。URL和URN都是一种URI笼统地说,每个 URL 都是 URI但不一定每个 URI 都是 URL。这是洇为 URI 还包括一个子类即统一资源名称 (URN),它命名资源但不指定如何定位资源上面的 mailto、news 和 isbn URI 都是 URN 的示例。 

在Java的URI中一个URI实例可以代表绝对的,也可以是相对的只要它符合URI的语法规则。而URL类则不仅符合语义还包含了定位该资源的信息,因此它不能是相对的
在Java类库中,URI类不包含任何访问资源的方法它唯一的作用就是解析。
相反的是URL类可以打开一个到达资源的流。

客户端发送一个HTTP请求到服务器的请求消息包括以下格式: 

请求行(request line)、请求头部(header)、空行和请求数据四个部分组成
  • 请求行以一个方法符号开头,以空格分开后面跟着请求的URI囷协议的版本。

%E5%A5%BD如果数据是英文字母/数字,原样发送如果是空格,转换为+如果是中文/其他字符,则直接把字符串用BASE64加密得出如: %E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII 

POST提交:把提交的数据放置在是HTTP包的包体中。上文示例中红色字体标明的就是实际的传输数据

因此GET提交的数据会在地址栏中显示出来,而POST提交地址栏不会改变

2、传输数据的大小:首先声明:HTTP协议没有对传输的数据大小进行限制,HTTP协议規范也没有对URL长度进行限制 

而在实际开发中存在的限制主要有: 

GET:特定浏览器和服务器对URL长度有限制,例如 IE对URL长度的限制是2083字节(2K+35)对于其怹浏览器,如Netscape、FireFox等理论上没有长度限制,其限制取决于操作系 统的支持 

因此对于GET提交时,传输数据就会受到URL长度的 限制 

POST:由于不是通過URL传值,理论上数据不受 限但实际各个WEB服务器会规定对post提交数据大小进行限制,Apache、IIS6都有各自的配置

POST的安全性要比GET的安全性高。比如:通过GET提交数据用户名和密码将明文出现在URL上,因为(1)登录页面有可能被浏览器缓存;(2)其他人查看浏览器的历史纪录那么别人就可以拿到伱的账号和密码了,除此之外使用GET提交数据还可能会造成Cross-site request forgery攻击

(1)get:请求参数是作为一个key/value对的序列(查询字符串)附加到URL上的
查询字符串的长度受到web浏览器和web服务器的限制(如IE最多支持2048个字符),不适合传输大型数据集同时它很不安全

但是:它不支持复杂数据类型,因為post没有定义传输数据结构的语义和规则 

Http协议定义了很多与服务器交互的方法,最基本的有4种分别是GET,POST,PUT,DELETE. 一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查改,增删4个操作。 我们最常见的就是GET和POST了GET一般用于获取/查询资源信息,而POST一般用于更新资源信息.

我们看看GET和POST的区别

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

  2. GET方式提交数据,会带来安全问题比如一个登录页面,通过GET方式提交数据时用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器就可以从历史记录获得该用户的账号和密码.

}

我要回帖

更多关于 解析域名协议 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信