目录
Web服务的工作机制
Web服务,也叫Web容器,是用于承载网站内容的服务器软件。常见的Web容器包括Apache、nginx、IIS等。Web服务不仅仅负责展示静态网页,还能够处理动态网页请求,如PHP、ASP、Java等脚本语言编写的页面。
网页与Web服务
- 网页:通过浏览器看到的页面,是通过浏览器渲染过的HTML文件源码,包含了CSS等前端技术。
- Web服务:Web容器,用于处理浏览器的请求并返回响应。
- 静态网页:纯文本文件,如HTML文件,在浏览器中可以解释运行。
- 中间件服务:随着Web的发展,信息需要双向交互。动态网页利用Flash、PHP、ASP、Java等技术在网页中嵌入可以运行的脚本,这些脚本可以嵌入页面中或以文件形式存放在Web服务器目录里,如ASP、PHP、JSP文件等。
数据库的重要性
数据库用于存储经常需要更新的数据,如新闻、博客文章等。当用户请求页面信息时,Web服务会从数据库中读取数据,并将其合并成完整的页面发送给用户。
HTTP协议
HTTP(HyperText Transfer Protocol)是浏览器与Web服务器之间通信的协议,用于传递消息。HTTP是一个请求和响应的协议,客户端发出请求,服务端对请求做出响应。HTTP默认使用TCP协议的80端口,明文传输数据,后期加强版本为HTTPS,支持证书加密,端口为443。
URL(Uniform Resource Locator)
URL用于标识网络上的资源位置,其格式如下:
schema://login:password@address:port/path/to/resource/?query_string#fragment
其中:
schema
:协议名称,如HTTP、HTTPS、FTP等。login:password
:用户名密码(可选)。address
:域名或IP地址。port
:端口号(可选)。path
:请求资源的路径。query_string
:查询字符串(可选)。fragment
:锚点(可选)。
HTTP请求与响应
请求
HTTP请求由请求行、请求头以及请求正文三部分组成。
请求行
请求行包括请求方法、请求资源路径以及协议版本。例如:
GET /cms/show.php?id=34 HTTP/1.1
请求头
请求头包含多个字段,如Host、User-Agent、Cookie等,用于向服务器提供额外的信息。
请求正文
请求正文主要存在于POST请求中,包含要发送给服务器的数据。
响应
响应同样由状态行、响应头和响应体组成。
状态行
状态行包含HTTP版本、状态码以及状态消息。例如:
HTTP/1.1 200 OK
响应头
响应头包含多个字段,如Server、Content-Type等,用于向客户端提供关于响应的额外信息。
响应体
响应体包含实际返回给客户端的数据内容。
URL编码与解码
URL编码用于将特殊字符转义成编码,以便浏览器正确解析。例如,空格可以被编码为%20
,单引号编码为%27
等。编码与解码可以通过工具进行,如Burp Suite中的Decoder标签。