web基础

目录

静态页面

动态页面

session

1xx - 信息性状态码

2xx - 成功状态码

3xx - 重定向状态码

4xx - 客户端错误状态码

5xx - 服务器错误状态码


提到web,大家可能都心照不宣地觉得那是前端的事,和我不相干。其实如果是相关专业的话,在大学里应该是都学的,况且也不是完全不相干,如果多了解一些,也更便于工作中的互相沟通与配合。

当我们在浏览器输入一个网站的域名时,浏览器会进行DNS地址解析,具体如何解析次数就不多赘述,我的另外一篇博客有讲解过

DNS域名解析原理及配置_dns解析配置-CSDN博客

我们这里讲讲一个网页的构成,首先网页是一个纯文本形式文件,编写的语言为html,然后网页拥有域名,一个主页(就是打开网站后第一个出现的页面),URL等等。铺垫了这么多,就是想说一说这个URL,它是一个万维网寻址系统,URL是统一资源定位符,用于描述某服务器某特定资源位置资源的具体位置。还有一个与之名字类似的叫URN,它是统一资源命名,表示这个资源叫什么具体的名字。

然后就是页面常用的一些标签

<title>    定义文档的标题

<link>    定义一个文档和外部资源之间的关系

<meta>    定义 html 文档中的元数据

<style>     定义 html 文档的样式文件

↑是头标签,就是放在正式网页内容之前的;↓是一些常见的内容标签

<table>  定义一个表格   <tr>  <td>  分别对应表格的行和列

<p>  定义一行

<br>  换行

就大概的说几个吧,如果对前端感兴趣的可以深入了解一下,我们只需要大概知道

 另外一个重要的点是,标签都是成对出现的,就比如我定义标题为 11111,那么就得这么写

<title>11111</title>

总之一个网页大概就是非常复杂的各种标签还有连接接口等构成的,我们可以在任意一个网页中按f12或者右击鼠标检查,可以查看网站的源码(不过一些请求信息版本信息是被隐藏的,不然人家跟裸奔都没区别了)。

web最初的时候是Web1.0 ,以编辑为特征,网站提供给用户的内容是编辑处理后的,然后用户阅读网站提供的内容 这个过程是网站到用户的单向行为 Web1.0以静态 单向阅读为主

后来Web2.0 更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者 加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网 站与用户双向的交流与参与 Web2.0特征 用户分享、以兴趣为聚合点的社群、开放的平台,活跃的用户。

web 1.0 和 web 2.0 从某种意义上来说是对应了静态页面和动态页面

那静态页面和动态页面具体是啥呢?有什么区别呢

静态页面

1 静态网页是标准的HTML文件

2 扩展名是.htm、.html 例如文本、图像、声音、Flash动画、客户端脚本和ActiveX控件及Java小程序等

3 是网站建设的基础,早期网站一般都由静态网页制作

4 没有后台数据库、不含程序和不可交互的网页

5 相对更新起来比较麻烦,适用于一般更新较少的展示型网站

静态页面特点:

1 每个静态网页都有一个固定的URL,且URL以.htm、.html、.shtml等常见形式为后缀,而不含有“?”

2 网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页都是保存在网站服务器上的

3 静态网页的内容相对稳定,容易被搜索引擎检索

4 静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠 静态网页制作方式比较困难

5 静态网页的交互性较差,在功能方面有较大的限制

6 页面浏览速度迅速,过程无需连接数据库,开启页面速度快于动态页面

动态页面

1 网页 URL不固定,能通过后台与用户交互

2 在动态网页网址中有一个标志性的符号——“?”

3 常用的语言有PHP、JSP、Python、Ruby等

动态页面特点

1 交互性 网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大 势所趋

2 自动更新 无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量

3 因时因人而变 当不同的时间,不同的人访问同一网址时会产生不同的页面

说到web页面,不可避免地会提到http协议,我们都只知道http是超文本传输协议,但是HTTP 还是一种无状态 (stateless) 协议, HTTP协议本身不会对发送过的请求和相应的通信状态进行持久化处理(存储,保存)。这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的事务, 提高效率。

但是话又说回来,无状态协议是指协议对事物处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它应答就很快。因此,为了会话管理,HTTP就需要传输大量重复信息内容的问题,造成大量的网络带宽消耗,于是乎,便有了Cookie 和 Session,它们可以为用户进行会话管理,实现保存状态。

Cookie 基于 HTTP 协议,也叫Web Cookie或浏览器Cookie,是服务器发送到用户浏览器并保存在客户端本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie使基于无状态的HTTP 协议记录稳定的状态信息成为了可能。

那么,cookie是如何执行操作的呢?

在浏览器第一次发送请求时,不会携带任何cookie信息,服务器接收到请求之后,发现请求中没有任何cookie信息。此时,服务器生成和设置一个cookie,并将此cookie设置通过set_cookie的首部字段保存在响应报文中返回给浏览器,浏览器接收到这个响应报文之后,发现里面有cookie信息,浏览器会将cookie信息保存起来。

当浏览器第二次及其之后的请求报文中自动 cookie 的首部字段携带第一次响应报文中获取的cookie信息,服务器再次接收到请求之后,会发现请求中携带的 cookie 信息,这样的话就认识是谁发的请求了,之后的响应报文中不会再添加set_cookie首部字段

cookie 主要用于 会话状态管理,个性化设置,浏览器行为跟踪等

session

session 和 cookie 事实上是有联系的

session是一种服务器端机制,用于存储特定用户会话的信息。服务器为每个用户会话分配一个唯一的Session ID,浏览器第一次访问时,会创建一个session,针对当前会话生成sessionID,并存储在Cookie中返回给浏览器。用户后续访问网站时,浏览器自动将包含Session ID的Cookie发送给服务器,然后服务器根据接收到的Session ID找到对应的Session数据,从而识别用户并维护其会话状态。

HTTP状态码是服务器对浏览器发送的请求做出的响应代码,它们帮助我们了解请求的处理结果。状态码由三位数字组成,分为五个类别,每个类别有不同的含义。以下是一些常见的HTTP状态码及其含义:

1xx - 信息性状态码

这些状态码表示请求已被接收,继续处理。

  • 100 Continue:服务器已接收到请求头,客户端应继续发送请求体。

  • 101 Switching Protocols:服务器已理解客户端的请求,并将通过Upgrade消息头通知客户端采用不同的协议来完成这个请求。

2xx - 成功状态码

这些状态码表示请求已被成功接收、理解和接受。

  • 200 OK:请求成功。一般用于GET与POST请求。

  • 201 Created:请求已经被实现,而且有一个新的资源已经依据请求的需要而建立。

  • 202 Accepted:服务器已接受请求,但尚未处理。

  • 204 No Content:服务器成功处理了请求,但没有返回任何内容。

3xx - 重定向状态码

这些状态码表示需要客户端采取进一步的操作才能完成请求。

  • 301 Moved Permanently:请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。

  • 302 Found:请求的资源临时从不同的URI响应请求,但请求者应继续使用原有位置来进行以后的请求。

  • 304 Not Modified:客户端发送了一个带条件的GET请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变。

4xx - 客户端错误状态码

这些状态码表示客户端可能发生了错误,妨碍了服务器的处理。

  • 400 Bad Request:服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。

  • 401 Unauthorized:请求要求用户的身份认证。

  • 403 Forbidden:服务器理解请求客户端的请求,但是拒绝执行此请求。

  • 404 Not Found:服务器找不到请求的资源。

  • 405 Method Not Allowed:请求行中指定的请求方法不能被用于请求相应的资源。

5xx - 服务器错误状态码

这些状态码表示服务器在处理请求的过程中发生了错误。

  • 500 Internal Server Error:服务器内部错误,无法完成请求。

  • 502 Bad Gateway:作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应。

  • 503 Service Unavailable:由于超载或系统维护,服务器暂时的无法处理客户端的请求。

  • 504 Gateway Timeout:充当网关或代理的服务器,未及时从远端服务器获取请求。

了解这些状态码可以帮助你快速定位问题,比如当你访问一个网页时,如果看到404状态码,就知道是请求的页面不存在;如果是500状态码,则可能是服务器内部出现了问题。

以上就是一些web的基础内容,感兴趣的可以往深处继续了解,作为非前端开发,我们只需要知道大概是怎么样一个模式执行过程就可以了,之后更易于我们学习部署服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值