网络基础-HTTP协议

Posted CurryRice

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络基础-HTTP协议相关的知识,希望对你有一定的参考价值。

今天说一下我们现在网络传输的基础,http(超文本传输协议),下面将会从URL,常用方法作用,包的结构进行介绍.

1.URL的解析

http:localhost:8081/ad
从这一条URL中我们可以知道的信息.
//http为使用的传输协议, 超文本传输协议允许传送html文件,
//localhost为主机地址,在我们访问其他网站的时候 会经过DNS服务器解析,变成相应的服务器IP 也就是主机地址.
//8081则为端口号,当前这个主机使用的端口号为多少, 实际上外部访问的时候 不会显示端口号.
//  /ad为服务器的访问路径, 通过这个路径可以访问到服务器上面的资源.

2.http协议的常用请求方法与作用

我们平时最常使用的协议就是http协议,所以我们主要针对http协议进行说明.

Http协议的常用请求方法有以下几种:

  • GET: GET方法用于向服务器发送请求,获得数据,通常使用的select查询中.

Get方法的特点

1.使用起来比较方便, 在URL地址后以?作为分界线,问号后边即为GET方法想要传输的数据.

2.传输数据的最大长度受浏览器的限制,早先IE长度为1024个字节,后来IE长度为2048+35个字节,firefox则无限长度,为了对浏览器的兼容性,统一使用为1024个字节作为传输限制.

3.GET方法传输速度比较快.

4.GET方法不会对数据产生任何影响,是安全的,是幂等的.

  • POST:POST方法通常用在表单等复杂的数据传输上面,也用在不知道子文件确切的URL时候,在父目录进行资源的创建

特点:
1.传输数据理论上来说无限制, 根据服务器性能来定, 根据IIS6.0来说最大限制大概是60M

2.传输速度相较于GET方法来说稍慢

3.非幂等,有可能对数据进行影响,拿创建数据来说,执行数个POST请求则有可能产生数个页面, 而PUT则不会

  • DELETE:通常用于删除数据使用

特点:
1.相对于删除方法来说是等幂的, 做数次操作也是一样的.

  • PUT:常用于更新, 也用于资源的创建.

1.put方法在有确切URL的时候, 会对该资源进行更新, 如果该资源不存在, 那么则创建它, 如果存在,则更新他.

2.与POST方法不同,PUT方法是等幂的, 对于操作方法而言, 使用数次来说 结果也是一样的, 页面只会增加一个 ,更新的数据也不会改变.

3.http包的结构

HTTP包的结构

我们要对http发送的数据包进行操作 我们就要知道它其中的结构.

http包分为状态行,头部,空行,和body.request与response都是.

状态行:里面会填充我们使用的http协议以及版本号是多少,使用的是什么方法进行的请求.

头部:HOST将指出请求的目的地.User-Agent,服务器端和客户端脚本都能访问它,它是浏览器类型检测逻辑的重要基础.

body: 则是我们发送请求携带的信息 ps:GET的body为空,因为请求在URL地址中.

4http的实际作用.

服务器与客户端进行数据交换的时候我们使用的就是http协议,通过http协议客户端可以向客户端发送数据,发送请求, 以便于得到自己想要的页面,或者更新的数据.

实际作用为客户端与服务器的数据交换.

以上是关于网络基础-HTTP协议的主要内容,如果未能解决你的问题,请参考以下文章

协议切换成功与否

怎么用http协议实现安卓数据

计算机网络——应用层-Web&HTTP

HTTP协议基础知识

Android网络编程HTTP协议原理

[linux] Linux网络编程之HTTP协议详解