当用户打开浏览器,输入网址,按下回车键时,浏览器会显示网站的内容,这一过程是怎样的一个逻辑呢?

 

HTTP协议

用户浏览器被称为客户端,被访问的网站是服务器。

这个过程实质上就是客户端向服务器发起请求,服务器接收请求后,将处理后的信息即响应发送给客户端。整个这个过程是基于HTTP协议实现的

什么是HTTP协议呢?

HTTP(HyperText Transfer Protocol),即超文本传输协议,是互联网上应用最为广泛的一种网络协议。HTTP是利用TCP在Web服务器和客户端之间传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端。

Web服务器

在浏览器输入网址即URL,浏览器会先请求DNS服务器,获得请求站点的IP地址,然后就会接收到服务器返回的HTTP请求,然后服务器返回HTTP响应,浏览器解析响应,通过引擎渲染到页面显示,就是我们访问网站后所看到的内容。

web服务器的工作原理分为4个步骤:

  1. 建立连接:客户端通过TCP/IP协议建立到服务器的TCP链接
  2. 请求过程:客户端向服务器发送HTTP协议请求包,请求服务器里的资源文档
  3. 应答过程:服务器向客户端发送HTTP协议应答包,如果请求的资源包含有动态语言的内容,那么服务器会调用动态语言的解释引擎负责处理动态内容,并将处理后得到的数据返回给客户端,由客户端解释HTML文档,在客户端屏幕上渲染图形效果
  4. 关闭连接:客户端与服务器断开

HTTP协议的常用请求方法及其描述

  1. GET:请求制定页面信息,并返回实体主体
  2. POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立或已有资源的修改。
  3. HEAD:类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头
  4. PUT:从客户端向服务器传送的数据取代制定的文档的内容
  5. DELETE:请求服务器删除指定的页面
  6. OPTIONS:允许客户端查看服务器的性能

 HTTP状态码及其含义

1**:信息,请求收到,继续处理

2**:成功,行为被成功地接收、理解和采纳

3**:重定向,为了完成请求,必须进一步执行的动作

4**:客户端错误,请求包含语法错误或者请求无法实现

5**:服务器错误,服务器不能实现一种明显无效的请求

 

web开发基础

对于web开发,通常分为前端和后端,很多人刚开始学做网站的时候,常常搞不清楚什么是前端,什么是后端。

前端是与用户直接交互的部分,包括web页面的结构,web的外观视觉表现及web层面的交互实现,后端更多的是与数据库进行交互来处理相应的业务逻辑,需要考虑的是如何实现功能、数据的存取、平台的稳定性和性能等

后端常用的编程语言包括python、java、php等

前端编程语言主要包括HTML、CSS、Javascript  

对于浏览网站的普通用户而言,更多的是关注网站前端的美观程度和交互效果,很少去考虑后端的实现