当用户打开浏览器,输入网址,按下回车键时,浏览器会显示网站的内容,这一过程是怎样的一个逻辑呢?
HTTP协议
用户浏览器被称为客户端,被访问的网站是服务器。
这个过程实质上就是客户端向服务器发起请求,服务器接收请求后,将处理后的信息即响应发送给客户端。整个这个过程是基于HTTP协议实现的
什么是HTTP协议呢?
HTTP(HyperText Transfer Protocol),即超文本传输协议,是互联网上应用最为广泛的一种网络协议。HTTP是利用TCP在Web服务器和客户端之间传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端。
Web服务器
在浏览器输入网址即URL,浏览器会先请求DNS服务器,获得请求站点的IP地址,然后就会接收到服务器返回的HTTP请求,然后服务器返回HTTP响应,浏览器解析响应,通过引擎渲染到页面显示,就是我们访问网站后所看到的内容。
web服务器的工作原理分为4个步骤:
- 建立连接:客户端通过TCP/IP协议建立到服务器的TCP链接
- 请求过程:客户端向服务器发送HTTP协议请求包,请求服务器里的资源文档
- 应答过程:服务器向客户端发送HTTP协议应答包,如果请求的资源包含有动态语言的内容,那么服务器会调用动态语言的解释引擎负责处理动态内容,并将处理后得到的数据返回给客户端,由客户端解释HTML文档,在客户端屏幕上渲染图形效果
- 关闭连接:客户端与服务器断开
HTTP协议的常用请求方法及其描述
- GET:请求制定页面信息,并返回实体主体
- POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立或已有资源的修改。
- HEAD:类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头
- PUT:从客户端向服务器传送的数据取代制定的文档的内容
- DELETE:请求服务器删除指定的页面
- OPTIONS:允许客户端查看服务器的性能
HTTP状态码及其含义
1**:信息,请求收到,继续处理
2**:成功,行为被成功地接收、理解和采纳
3**:重定向,为了完成请求,必须进一步执行的动作
4**:客户端错误,请求包含语法错误或者请求无法实现
5**:服务器错误,服务器不能实现一种明显无效的请求
web开发基础
对于web开发,通常分为前端和后端,很多人刚开始学做网站的时候,常常搞不清楚什么是前端,什么是后端。
前端是与用户直接交互的部分,包括web页面的结构,web的外观视觉表现及web层面的交互实现,后端更多的是与数据库进行交互来处理相应的业务逻辑,需要考虑的是如何实现功能、数据的存取、平台的稳定性和性能等
后端常用的编程语言包括python、java、php等
前端编程语言主要包括HTML、CSS、Javascript
对于浏览网站的普通用户而言,更多的是关注网站前端的美观程度和交互效果,很少去考虑后端的实现