美文网首页
http协议

http协议

作者: 老衲灬 | 来源:发表于2018-07-02 23:20 被阅读18次

一、HTTP协议概述

1、B/S网络结构
B/S结构(Browser/Server , 浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到了服务器上,简化了系统的开发、维护和使用,同时也大大简化了客户端的电脑载荷,减轻了系统维护与升级的成本和工作量。 图片.png
2、HTTP协议概述

①超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。
②HTTP是一个客户端与服务器端请求和应答的标准。
③HTTP是网络传输的一种标准、规则。

3、HTTP协议的特点

①简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
②灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
③无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
④无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少记忆状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

二、HTTP协议之URL

1、什么是URL

①URL(Uniform Resource Locator)统一资源定位符。
②URL是对从互联网上得到的资源的位置和访问方法的一种简洁的表示方法。
③格式:protocol://hostname[:port]/directory/filename?name=value#anchor
④举例:http://www.hsz.com/test/test1.php?id=5#top
访问本地的文件:file:///D:/hsz/test/test1.html

2、URL各部分含义

①protocol:它告诉浏览器打开文件使用的协议。如:http、https、ftp、telnet、mailto、file等
②hostname:指定服务器的主机名称,也可以是IP地址;
③port:指定访问的端口号,默认为80;HTTPS默认端口是443,FTP默认端口21
④directory:指定访问的资源目录名称;
⑤filename:指定访问的资源名称;
⑥?name=value:指定访问资源时,附带的参数部分;
⑦#anchor:指定访问资源时的锚点名称。

三、抓包工具使用

浏览器的抓包工具:可分析打开网页时网页上每个元素所用的时间以及具体的交互记录,包括Cookies、消息头、字符查询等信息
各浏览器一般都会有开发人员工具,IE浏览器快捷键F12可调出开发者工具栏。

四、HTTP协议之请求

1、HTTP请求的构成
http请求由三部分组成,分别是:请求行、请求头、请求正文 。 图片.png 图片.png
2、HTTP请求行的格式

①格式:Method Request-URI HTTP-Version
②参数:
a、Method:请求方法,必须大写。
b、Request-URI:是一个统一资源标识符(URI),不含主机部分。
c、HTTP-Version:表示请求的HTTP协议版本。HTTP/1.0短连接,HTTP/1.1长连接。
③什么是长连接?数据传输完成,保持连接通道不断开,等待同域名下继续使用该通道传输数据。

3、从HTTP角度看GET和POST的区别?

①安全性。GET请求的数据会显示在地址栏上;POST请求的数据,放在http协议的消息体中。
②传输数据量限制。http协议本身没有数据量限制,而浏览器本身有限制。GET限制的大小约为2083(2k+35),而POST无限制。
③发送数据的类型:GET方式只能发送字符串型数据。POST方式可以任何类型的数据。
④是否能放入收藏夹:GET可以,POST不可以。收藏夹只会收藏地址,不会收藏内容。

4、HTTP请求头含义(部分) 图片.png
5、HTTP请求正文

①GET方式,没有消息体,数据附在URI之后传递到服务器;
②POST方式,有消息体,数据放在消息体中传递到服务器;
③消息体和消息头之间有一空行,不能省略;

五、HTTP协议之响应

1、HTTP响应的构成
HTTP响应也是由三个部分组成,分别是:状态行、响应头、响应正文;
2、HTTP响应行的格式

①格式:HTTP-Version Status-Code Reason-Phrase
②参数:
a、HTTP-Version表示服务器HTTP协议的版本;
b、Status-Code表示服务器发回的响应状态代码;
c、Reason-Phrase表示状态代码的文本描述。

3、HTTP响应状态码

状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
①1xx:指示信息--表示请求已接收,继续处理;
②2xx:成功--表示请求已被成功接收、理解、接受;
③3xx:重定向--要完成请求必须进行更进一步的操作;
④4xx:客户端错误--请求有语法错误或请求无法实现;
⑤5xx:服务器端错误--服务器未能实现合法的请求。

常见HTTP响应状态码含义: 图片.png
4、302状态码演示

含义:临时移动。资源被临时移动地新的地址,因此,浏览器需要向新的地址再次发出请求。

test.php中代码如下: 图片.png 图片.png
5、304状态码演示
含义:没有改动。直接在本地缓存读取,不需要读取服务器数据。一般指图片数据。 图片.png 图片.png
6、403状态码演示

含义:没有访问权限。文件找到了,但没有访问权限。

修改apache的虚拟主机配置httpd-vhosts.conf 图片.png 图片.png
7、404状态码演示
含义:文件不存在。访问不存在的文件,或者文件名写错了。 图片.png
8、HTTP响应头含义
一个HTTP响应代表服务器给浏览器回送的数据,同时告诉浏览器应当怎样处理数据。 图片.png

相关文章

网友评论

      本文标题:http协议

      本文链接:https://www.haomeiwen.com/subject/ispruftx.html