Web与HTTP协议!

Posted handsomeboy-东

tags:

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

Web基础

域名和DNS

1)域名的概述

网络上交互是基于TCP/IP协议,每个主机在逻辑上有一个唯一的IP地址,物理地址为MAC地址,为了保证地址唯一性,用户协议向特地给机构申请注册,分配IP地址网络中的地址有IP地址系统和域名地址系统,而由于IP是由32位二进制数字标识,不方便记忆,所以发展出了符号化地址来代替解决方案,也就是域名

2)域名空间结构(从右往左看)
①根域:位于域名空间最顶层,一般用“.”标识
②顶级域:一般代表一种类型的组织结构或国家地区,如:
net(网络公司)、com(商业)、org(民间团体组织)、edu(教育)、gov(政府)、mil(军事)、cn(中国)、jp(日本)、hk(中国香港)
③二级域:用来标明顶级域内的一个特定的组织,如:.com.cn、.net.cn、.edu.cn……
④主机名:位于域名空间最下层,就是一台具体的计算机
3)DNS解析方式(三种)
①/etc/hosts
linux系统中负责快速解析的文件,包含了ip与主机名的映射关系,在没有DNS服务器的情况下,使用本地/etc/hosts完成解析,实现快速访问
②/etc/resolv.conf
DNS客户端配置文件,主要用于设置DNS服务器的IP和域名
③在/etc/sysconfig/network-scripts/ifcfg-ens33网卡配置文件中添加DNS
4)域名注册
域名注册是Internet中用于解决地址对应问题的一种方法,遵循先申请先注册原则
域名注册步骤:
准备申请资料---->寻找域名注册网站---->查询域名---->整数申请---->申请成功

网页和html

1)网页
纯文本格式文件,编写语言位HTML、HTML5

  • 域名
    浏览网页时输入的网址
  • 网站
    由一个一个页面构成,是多个网页的结合体
    主页:打开一个网站后出现的第一个网页
  • HTTP/HTTPS
    用来传输网页的通信协议,S表示是否加密
  • URL
    是一种万维网寻址系统,表示网络上资源的位置路劲
  • 超链接
    将网站中不同网页链接起来的功能

2)HTML
HTML(超文本标记语言),是一种规范和标准,通过标记符来标记要显示的网页中的各个部分,HTML文件可以使用任何能够生成TXT文件的文本编辑器来编辑,只用修改文件名后缀位“.html”或“.htm”

Web

Web(World Wide Web)即全球广域网,也叫万维网,是一种分布式图形信息系统,建立在Internet上的一种网络服务

  • Web1.0和Web2.0
    Web1.0:以编辑为特征,网站提供给用户的内容是编辑处理后的,然后用户阅读网站提供的内容,这个过程是网站到用户的单向行为
    Web20:用户分享信息、以兴趣为聚合点的 社群、开放的平台,

静态网页和动态网页

  • 静态网页
    静态网页是标准的HTML文件,拓展名是.htm、.html,是网站建设的基础,没有后台数据库、不含程序和不可交互,相对更新起来比较麻烦,适用于一般更新较少的展示型网站
  • 动态网页
    动态网页是指与静态网页相对的一种网页编辑技术,网页URL不固定,能通过后台与用户交互,在网页的网址中有一个标志性的符号——“?”
    特点:
    ①交互性:网页会根据用户的要求和选择而动态改变和相应,将浏览器作为和客户端界面
    ②自动更新:无须手动更新HTML文档,便会自动生成新的页面,可以大大节省工作量
    ③因时因人而变:当不同的时间,不同的人访问同一网址时会产生不同的页面

HTTP协议

超文本传输协议(HyperText Transfer Protocol,HTTP)是互联网上应用最广泛的一种网络协议,它是基于TCP协议的应用层传输协议,使用TCP80端口

HTTP协议本身不会对发送过的请求和相应的通信状态进行持久化处理,这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的十五,提高效率,有时在很多应用场景中我们需要保持用户登录的状态或记录用户购物车中的商品,所以引入一些技术来管理,如Cookie、session
cookie和session都为了实现的是http的短期的持久化(内存/缓存方式,查询快、效率比较高)
cookie省服务器性能,session更安全

HTTP协议版本

1)HTTP/0.9,只接受GET一种请求方法,已淘汰
2)HTTP/1.0和HTTP/1.1的区别:
①HTTP1.1相比HTTP1.0有更多可供选择的缓存头来控制缓存策略,
②HTTP1.1更方便了开发者自由的选择以便于充分利用带宽和连接
③HTTP1.1中新增了24个错误状态响应码
④在HTTP1.0中认为每台服务器都绑定一个唯一的IP地址,因此,请求消息中的URL并没有传递主机名,但随着虚拟主机技术的发展,在一台物理服务器上可以存在多个虚拟主机,并且它们共享一个IP地址,HTTP1.1的请求消息和响应消息都应支持Host头域,且请求消息中如果没有Host头域会报告一个错误
⑤HTTP1.1支持长连接和请求的流水线处理,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟,在HTTP1.1中默认开启Connection,keep-alive,一定程度上弥补了HTTP1.0每次请求都要创建连接的缺点

HTTP请求方式

  • GET :请求获取Request-URI所标识的资源
  • PUT :请求服务器存储一个资源,并用Request-URI作为其标识
  • DELETE :请求服务器删除Request-URI所标识的资源
  • POST :在Request-URI所标识的资源后附加新的数据
  • HEAD :请求获取由Request-URI所标识的资源的响应消息抱头

GET 与POST 区别
① 区别一: 语义上的区别
Get向服务器请求数据,依照HTTP协议
Post向服务器发数据,依照HTTP协议,Post的语义是向服务器添加数据,该操作是会修改服务器上的数据

② 区别二: 服务器请求的区别
Get请求是可以被缓存,示例:
访问百度,访问的方式就是GET,此时访问后的内容会缓被存在浏览器中,短时间再次访问,其实是拿到的浏览器中的缓存内容
Post请求是不可以被缓存的。Post可以接收二进制等各种数据形式,所以如果要上传文件一般用Post请求

③ 区别三: 参数放请求头和请求体的差别
Get请求通常没有请求体,在TCP传输中只需传输一次(而不是一个包),
所以Get请求效率相对高
Post请求将数据放在请求体中,而实际传输中,会先传输完请求头,再传输请求体,是分为两次传输的(而不是两个包)

HTTP状态码

状态码首位		已定义范围		分类
1xx     		100-101 		信息提示
2xx    			200-206			成功
3xx				300-305			重定向
4xx				400-415			客户端错误
5xx				500-505			服务器错误

常见的HTTP状态码

消息			描述
200				ok						请求成功(其后是对GET和POST请求的应答文档)
301				Moved Permanently		请求的永久页面跳转
403				Forbidden				禁止访问该页面
404				Not Found				服务器无法找到被请求的页面
500				Internal Server Error	内部服务器错误
502				Bad Gateway				无效网关
503				Service Unavailable		当前服务不可用
504				Gateway 	Timeout		网关请求超时		

总结:

HTTP是超文本传输协议,该请求响应以报文形式传递
Web1.0和Web2.0的只要区别有,Web2.0在1.0的基础上还能实现网站与用户之间的交互
POST和GET方法在缓存、安全性、长度限制等方面有区别

以上是关于Web与HTTP协议!的主要内容,如果未能解决你的问题,请参考以下文章

CTFHub-Web-Web前置技能-HTTP协议-响应包源代码详解

HTTP协议与WEB框架简介

Web与HTTP协议!

JavaWeb:01——Web与HTTP协议简介

Web Socket 协议握手与交换协议

Web 基础与 HTTP 协议