TCPIP五层(四层)模型——应⽤层
应⽤层
应⽤层是TCP/IP五层(四层)模型的最顶层,主要负责程序间的沟通,如简单电⼦邮件传输(SMTP),⽂件传输协议(FTP),⽹络远程访问协议(Telnet)等,⽹络编程主要就是针对应⽤层
HTTP协议——超⽂本传输协议
1 HTTP协议介绍
HTTP协议是程序员⾃⼰定义的⼀个应⽤层协议,由请求和响应构成,是⼀个标准的客户端服务器模型。HTTP是⼀个⽆状态的协议。 HTTP协议(HyperText Transfer Protocol)是⽤于从WWW服务器传输超⽂本到本地浏览器的传送协议。它可以使浏览器更加⾼效,使⽹络传输减少。它不仅保证计算机正确快速地传输超⽂本⽂档,还确定传输⽂档中的哪⼀部分,以及哪部分内容⾸先显⽰(如⽂本先于图形)等。
2 URL介绍
2.1 格式及字段
其实我们俗称的“⽹址”就是URL,详细见上⾯图中的例⼦
(1)协议⽅案名:访问⽹站时所遵循的协议,通常为http、https
(2)登录信息:⼀般格式为 ⽤户名:密码,但是这项⼀般都省略
(3)服务器地址:访问的⽹站所在的主机地址,域名
(4)服务端⼝号:服务器程序是该主机中的哪个进程,由端⼝号给出。HTTP的默认端⼝号为80,可以省略
(5)带层次的⽂件路径:所请求⽂件在主机的路径,其中第⼀条 / 表⽰Web的根⽬录
(6)查询字符串:?之后的为查询字符串,表⽰请求的内容(若没有,可省略)
(7)⽚段标识符:可省略
2.2 和
在上⾯了解过URL的格式后,但是在查询⼀些包含特殊字符的信息时却看到⼀些不⼀样的信息
在问号?后⾯的字段是查询字符串,我们查询的内容为C++,那么在问号后⾯显⽰的信息应该为wd=C++,但是实际上显⽰的内容为
wd=C%2B%2B,这是为什么??
因为在URL中本⾝是包含⼀些字符的,所以URL就规定在参数中出现的特殊字符必须进⾏转义——将字符变为16进制,然后从右到左取四位,每两位做⼀位,前⾯加上%,所以就变为上⾯的格式了
3 HTTP协议格式
HTTP协议分为HTTP请求和HTTP响应,因此两种格式也不相同,但是⼤体分为四部分
3.1 HTTP请求格式
主要分为四部分:
(1)请求⾏:在HTTP请求报⽂中第⼀⾏,以空格为界,分为三个区域:【请求⽅法,常为GET/POST】+【请求的资源URL】+【HTTP 协议版本,常为1.0/1.1】;
(2)请求报头Header:在HTTP请求报⽂中从第⼆⾏到空⾏之前的即为请求报头,是请求属性,均以冒号分割的键值对形式呈现,每组属性间⽤ \n 分隔;
(3)空⾏:表⽰报头已完,不能省略
(4)请求正⽂Body:空⾏以后的均是请求正⽂,表⽰要提交给浏览器看的消息,允许为空字符串。
其中:
1)GET⽅法:请求消息在正⽂中
2)POST⽅法:请求消息在报⽂中
3.2 HTTP响应格式
主要分四部分:
(1)响应⾏:在HTTP请求报⽂中第⼀⾏,以空格为界,分为三个区域:【协议版本号】+【状态码】+【状态码解释】; (2)响应报头Header:在HTTP请求报⽂中从第⼆⾏到空⾏之前的即为请求报头,表⽰请求的属性;
(3)空⾏:表⽰报头已完,不能省略;
(4)响应正⽂Body:空⾏以后的均是请求正⽂,允许为空字符串,这部分内容为真实能够看到的(HTML/JS/CSS页⾯)下⾯是⼀个实例
4 HTTP的⽅法
5 HTTP状态码tcpip协议分为哪几层作用
⽐较常见的状态码:200(OK),404(Not Found),403(Forbidden),302(Redirect,重定向)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。