HTTP协议分析、GET和POST方法笔记

HTTP协议分析、GET和POST方法笔记

一、域名概述

1、域名解析的作用:
主机数量增多时,ip地址不容易记忆,域名方便记忆。域名记忆更加的直观。
2、hosts文件
早起通过hosts文件进行域名解析,Linux系统中hosts文件存放路径为/etc/hosts,Windows系统中存放路径为C:\Windows\System32\drivers\etc\hosts内。
但后来随着lnternet网上的网站发展迅速,一个小小的hosts文件不足以存放,在加上主机名称数量庞大、主机维护困难等问题,于是出现了DNS域名解析服务。
1、加快用户查询速度
2、便于管理服务器
3、DNS(Domain Name System)域名系统
(1)两大特点:分布式、层次性。
(2)域名空间结构:根域、顶级域(国家/地区域名)、二级域。
(3)完整域名格式:FQDN=主机名.DNS后缀,例:www.csdn.net.

二、网页基本术语概述

1、网页:纯文本格式文件,其编写语言为HTML,在用户的浏览器中被“翻译”成网页形式显示出来。
2、网站:网站是由一个一个页面构成的,是多个网页的结合体。
3、主页:打开网站后出现的第一个网页称为网站的主页(或首页index.html)
例如下图为www.csdn.net网站首页:
在这里插入图片描述
4、域名:浏览网页时输入的网址(例如:www.csdn.net)
5、HTTP:用来传输网页的通信协议(超文本传输协议)
6、URL:是一种万维网寻址系统(统一资源定位符)
7、HTML:用来编写网页的超文本标记语言。
8、超链接:将网站中不同网页链接起来的功能。
9、发布(线上):将制作好的网页上传到服务器提供用户访问的过程。

三、HTML(超文本标签语言)概述

1、HTML:Hyper Text Markup Language,编写网页的语言。
2、浏览器:“解释和执行”HTML源码的工具
3、HTML文档的结构:
头部部分
标题部分
主题部分

四、HTTP状态码

当使用浏览器访问某一个URL,会根据请求URL返回状态码。

  • 通常正常的状态码为2**,3**(如200)。
  • 如果出现异常会返回4**,5**(如404)。
    2字头开始
  • 200 OK:请求成功
  • 201 Created:请求已经实现,而且有一个新的资源已经依据请求的需要而建立,且其URL已经随着Location头信息返回。假如需要的资源无法及时建立的话,应当返回202 Accepted。
  • 202 Accepted:服务器已经接收请求,但是尚未处理。正如它可能被拒绝一样,最终该请求可能会也可能不会被执行。
    3字头开始
  • 301 Moved Permanently:请求的资源已经永久移动到新的位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URL之一。
  • 302 Moved temporarily:请求的资源临时从不同的URL响应请求。
    4字头开始
  • 400 Bad Request:语义有误,当前请求无法被服务器理解;请求参数有误。
  • 401 Unauthorized:当前请求需要用户验证。验证没有通过,用名名和密码输入错误。
  • 403 Forbidden:服务器已经理解请求,但是拒绝执行它。可能你的地址被拉黑了。
  • 404 Not Found:请求失败,页面找不到了。
  • 405 Method Not Allowed:请求行中指定的请求方法不能被用于请求相应的资源。该响应必须返回一个Allow头信息用以表示出当前资源能够接受的请求方法的列表。
  • 408 Request Timeout:请求超时。
    5字头开始
  • 500 Internal Server Error:服务器遇到了一个未曾解决的状况,导致了它无法完成对请求的处理。一般是服务器端的源代码出现错误时出现。
  • 502 Bad Gateway:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
  • 503 Service Unavailable:服务器过载或者维护导致服务器当前无法处理请求,这个状况是临时的,并且将在一段时将以后恢复。如果能够预计延迟时间,那么响应中可以包含一个Retry-After头用以标明这个延迟时间。
  • 504 Gateway Timeout:网关超时。

五、Web概述

web内容储存在web服务器上,最简单的web资源就是web服务器文件系统中的静态文件,这些文件可以包含任意内容:文本文件、HTML文件、微软的Word文件、Adobe的Acrobat文件、JPEG图片文件、AVI电影文件。
资源不一定是静态文件,资源还可以是根据需要生成内容的软件程序。这些动态内容资源可以根据你的用户身份、所请求的信息或每天的不同时段来产生内容。
在这里插入图片描述

1、WEB1.0与WEB2.0

web1.0是以编辑为特征,网站提供给用户的内容是编辑处理后结果,然后用户阅读网站提供的内容。这个过程是网站到用户的单向行为。
web2.0更注重用户的交互作用,用户既是网站内容的消费者(浏览器),也是网站内容的制造者。web2.0加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户双向的交流与参与。

2、静态网页与动态网页

(1)、静态网页
在网站设计中,纯粹HTML格式的网页通常被称为“静态网页”,静态网页是标准的HTML文件,扩展名是.htm、.html,可包含文本、图像、声音、FLASH动画、客户端脚本和Activex控件及JAVA小程序等。静态网页是网站建设的基础,早期的网站一般都是静态网页制作的。静态网页相对于动态网页而言没有后台数据库,是不含程序和可交互式的网页。静态网页相对更新起来比较麻烦,适用于一般更新较少的展示型网站(公司首页)。
每一个静态网页都有一个固定的URL,且URL以.htm、.html、.shtml等常见形式为后缀,而不含有“?”。网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页都是存在在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页是一个独立的文件。
静态网页的内容相对稳定,因此容易被搜索引擎检索。
静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难。静态网页的交互性较差,在功能方面有较大的限制。页面浏览速度迅速,过程无需连接数据库,开启页面速度快于动态页面。
(2)、动态网页
在这里插入图片描述
动态网页一般是以.aspx.asp.jsp.php.perl.cgi等形式为后缀,且动态网页网址中有一个标志性的符号——“?”。
动态网页一般以数据库技术为基础,可以大大降低网站维护的工作量。采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等。
动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页。
动态页面中的“?”对搜索引擎检索存在一定问题,搜索引擎一般不可能从一个网站站的数据库中访问全部网页,或者出于技术方面的考虑,搜索之中不去抓取网址中“?”后面的内容,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理(伪静态)才能适应搜索引擎的要求。

六、HTTP协议请求流程分析

在这里插入图片描述

七、HTTP协议版本

  • HTTP0.9:已经过时了。只接受GET一种请求方法,没有在通讯中指定版本号,且不支持请求头。由于版本不支持POST方法,所以客户端无法向服务器传递太多信息。
  • HTTP1.0:这是第一个在通讯中指定版本号的HTTP协议版本,至今仍被广泛采用,特别是在代理服务器中。
  • HTTP1.1:当前版本。持久连续被默认采用,并能很好地配合代理服务器工作。还支持以管道方式同时发送多个请求,以便降低线路负载,提高传输速度。
  • 1.0和1.1的区别:缓存处理、带宽优化及网络连接的使用、错误通知的管理、消息在网络中的发送、互联网地址的维护、安全性和完整性。

八、HTTP的方法

HTTP方法描述
GET从服务器向客户端发起命名资源
PUT将来自客户端的数据存储到一个命名的服务器资源中去
DELETE从服务器中删除命名资源
POST将客户端数据发送到一个服务器网关应用程序
HEAD仅发送命名资源响应中的http首部

九、HTTP报文格式详解

1、HTTP请求发送消息报文格式
一次完整的http请求信息包括:一个请求行,若干信息头以及实体内容,而信息头和实体内容可以没有,信息头和实体内容之间有一个空行标识头部信息结束。
在这里插入图片描述

GET /HTTP/1.1			//提交方法与HTTP协议版本
Host:www.51cto.net		//主机名
Connection:keep-alive	//是否保持连接,开启状态
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3		//媒体类型
Upgrade-Insecure-Requests: 1		//支持升级不安全请求,及是不适用http而是https
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36		//客户端类型(浏览器类型)
Accept-Encoding: gzip, deflate		//网页支持压缩
Accept-Language: zh-CN,zh;q=0.9		//语言类型,字符集

补充:

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36		//客户端类型(浏览器类型)
AppleWebKit(windows自带浏览器)、Chrome(谷歌浏览器)、Safari(苹果自带浏览器)。

2、HTTP响应消息的格式
一个状态行、若干个消息和实体内容
在这里插入图片描述

HTTP/1.1 502 Fiddler - DNS Lookup Failed 		//HTTP协议版本与状态码
Date: Wed, 16 Oct 2019 07:36:58 GMT				//日期与时间
server:Apache/2									//服务器版本信息(上图没有)
Content-Encoding:gzip							//传输压缩(上图没有)
Content-Type: text/html; charset=UTF-8			//媒体类型与字符集
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值