Web基础与HTTP协议

一、web基础

域名和DNS

1、域名的概念

(1)域名空间结构

  • 根域
  • 顶级域
    • 国家/地区域名
    • 组织域
  • 二级域名
  • FQDN=主机名.DNS后缀

2、Host文件

根据系统规定,在进行 DNS请求以前,系统会先检查自己的Hosts 文件中是否有这个网络域名映射关系。如果有则调用这个!P地址映射,如果没有,再向已知的 DNS服务器提出域名解析,即 Hosts 的请求级别比 DNS 高

//Windows 系统中 Hosts 文件存储在目录 c:windowslsystem32\drivers\etc\下面,用笔记本即可修改
//修改Linux Host文件
vim /etc/hosts
127.0.0.1   www.baidu.com
//当访问 www.baidu.com 时,发现本机 hosts 文件中有映射的 IP 地址,则访问这个IP 地址
3、DNS(域名解析系统)

主机名到IP地址的映射有两种:

  1. 静态映射:每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用
  2. 动态映射:建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机到 IP 地址的映射,网络上需要使用主机名通信的设备,首先需要到 DNS 服务器查询主机所对应的 IP 地址。

网页与HTML

  • 网页
    • 纯文本格式文件
    • 编写语言为HTML
    • 在用户的浏览器被“翻译”成网页形式显示出来
  • HTML超文本标记语言
    • 用来编写网页的超文本标记语言
    • Hyper Text Markup Language
    • 网页的“源码”
      • 浏览器:“解释和执行”HTML源码工具
  • 网站
    • 由一个一个页面构成的,是多个网页的结合体
  • 主页
    • 打开网站后出现的第一个网页成网站的主页(首页)
  • 域名
    • 浏览网页时输入的网址
  • HTTP
    • 用来传输网页的通信协议
  • URL
    • 统一资源定位符,是一种万维网寻址系统
  • URI(URI=URL+URN)
    • 全球资源标志符
  • 超链接
    • 超链接是将网站中不同网页链接起来
  • 发布
    • 将制作好的网站上传到服务器供用户访问的过程
1、web1.0和web2.0

(1)web1.0

  • Web1.0是指早期互联网模式,以门户网站为主,内容由网站运营商提供,以巨大的点击量和增值服务为主盈利手段
    • Web1.0基本采用的是技术创新主导模式,信息技术的变革和使用对于网站的新生与发展起到了关键性的作用
    • Web1.0的盈利都基于一个共通点,即巨大的点击流量

(2)web2.0

  • 指的是一个利用 Web 的平台,由用户主导而生成的内容互联网产品模式,如博客、社交网站等
    • 用户分享。在 Web2.0模式下,可以不受时间和地域的限制分享各种观点
    • 以兴趣为聚合点的社群。在 Web2.0模式下,聚集的是对某个或者某些问题感兴趣的群体
    • 开放的平台,活跃的用户

静态网页与动态网页

(1)静态网页

  • 在网站设计中,纯粹 HTML 格式的网页通常被称为“静态网页”,静态网页是标准的HTML 文件,它的文件扩展名是.htm、.html,。静态网页也可以出现各种动态的效果,如.GIF 格式的动画、FLASH、滚动字幕等

(2)动态网页

  • 所谓的动态网页,是指跟静态网页相对的一种网页编程技术,以.aspx、.asp、jsp、.php、.perl、.cgi等形式为后缀,动态网页是基本的 html 语法规范与 Java、PHP、C#等高级程序设计语言、数据库编程等多种技术的融合,以期实现对网站内容和风格的高效、动态和交互式的管理

(3)动态网页语言

  • PHP:Hypertext Preprocessor(超文本预处理器)
  • JSP:Java Server Pages(Java 服务器页面)
  • Python:面向对象、跨平台的动态类计算机程序设计语言
  • Rudy:一种简单快捷的面向对象(面向对象程序设计)脚本语言

二、HTTP协议

超文本传输协议(HTTP,HyperText Transfer Protocol),是互联网上应用最为广泛的一种网络协议。所有的网页文件都必须遵守这个标准

  • HTTP版本
    • HTTP/1.1 当前版本。持久连接被默认采用,并能很好地配合代理服务器工作。还支持以管道方式同时发送多个请求,以便降低线路负载,提高传输速度
    • HTTP/1.0 这是第一个在通讯中指定版本号的 HTTP 协议版本,至今仍被广泛采用,特别是在代理服务器中
    • HTTP10.9 已过时,只接受 GET 一种请求方法,没有在通讯中指定版本号,且不支持请求头,由于该版本不支持 POST 方法,所以客户端无法向服务器传递太多信息

1.HTTP方法

  • HTTP 支持几种不同的请求命令,这些命令被称为 HTTP 方法(HTTP method),每条 HTTP 请求报文都包含一个方法,告诉服务器要执行什么动作,包括:获取一个页面,运行一个网关程序,删除一个文件等

HTTP方法

描述

GET

请求获取 Request-URl所标识的资源

PUT

请求服务器存储一个资源,并用 Request-URI作为其标识

DELETE

请求服务器删除 Request-URl所标识的资源

POST

在 Request-URl所标识的资源后附加新的数据

HEAD

请求获取由 Request-URl所标识的资源的响应消息报头

  • GET方法采用的是 URL 后缀的形式,比如 http://www.test.com/a.php?ld=123 就是一个 GET 请求,服务器接收后可以解析出 |d=123
  • POST 方法不需要在 URL 中显示”?Id=123”,参数作为内容进行了隐藏的提交
    • GET 方法在 URL 上显示参数,而 URL 是有长度限制,故不适合提交过大的数据。GET方法可以被浏览器缓存,当请求已经被请求过一次的 URL时,浏览器不需要向服务器再次发出请求,直接在本地缓存中获得页面

GET方法

POST方法

对数据长度的限制

URL 的长度是受限制的(URL 的最大长度是 2048 个字符)

无限制

缓存

能被缓存

不能缓存

安全性

与POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。在发送密码或其他敏感信息时绝不要使用GET

POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 Web 服务器日志中

历史

参数保留在浏览器历史中

参数不会保存在浏览器历史中

后退按钮/刷新

无害

数据会被重新提交,浏览器应该告知用户数据会被重新提交

书签

可收藏为书签

不可收藏为书签

2.HTTP状态码

HTTP 状态码(HTTP Status Code)是用以表示网页服务器 HTTP 响应状态的 3位数字代码,当浏览器请求某一URL时,服务器根据处理情况返回相应的处理状态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

网关请求超时

3.HTTP请求流程分析

用户在浏览器输入 URL 访问时,发起 HTTP 请求报文,请求中包括请求行、请求头、请求体,服务器收到请求后返回响应报文,包括状态行、响应头、响应体

(1)请求报文

  • 请求行:请求行由请求方法、URL以及协议版本三部分组成
  • 请求头:请求头为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔

请求头

描述

Host

接受请求的服务器地址,可以是IP:端口号,也可以是域名

User-Agent

发送请求的应用程序名称

Connection

指定与连接相关的属性,如Connection:Keep-Alive

Accept-Charset

通知服务端可以发送的编码格式

Accept-Encoding

通知服务端可以发送的数据压缩格式

Accept-Language

通知服务端可以发送的语言

  • 空行:请求头部的最后会有一个空行,表示请求头部结束,接下来为请求体,这行非常重要,必不可少
  • 请求体:请求体是请求提交的参数,GET方法已经在 URL中指明了参数,所以提交时没有数据。POST方法提交的参数在请求体中

(2)响应报文

  • 状态行:状态行由协议版本,状态码,状态码描述三部分组成
  • 响应头:响应头与请求头部类似,为响应报文添加了一些附加信息

响应头

描述

Server

服务器应用程序软件的名称和版本

Content-Type

响应正文的类型(是图片还是二进制字符串)

Content-Length

响应正文长度

Content-Charset

响应正文使用的编码

Content-Encoding

响应正文使用的数据压缩格式

Content-Language

响应正文使用的语言

  • 空行:响应头部的最后会有一个空行,表示响应头部结束
  • 响应体:服务器返回的相应 HTML数据,浏览器对其解析后显示页面
  • 25
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值