菜鸟学Linux 第051篇笔记 web-server, http

简介:

菜鸟学Linux 第051篇笔记  web-server, http





HTTP (HyperText Transfer Protocol): 超文本传输协议


超链接:


web

http version 0.9  纯文本(超链接), ASCII

HTML HyperText Mark Language

URI Uniform Resource Indentifier 统一资源标识符

统一:路径格式上的统一

URL Uniform Resource Locator

protocol://HOST:port/path/to/file

web资源 = web对象

多个资源很可能被整合为一个html文档

http方法:

http version 0.9  get

http version 1.0 put post delete head 等等

MIME (Multipurpose Internet Mail Extension) 多用途互联网邮件扩展

SMTP (Simple Mail Transmission protocol) 纯文本

MIME 将非文本数据在传输前重新编码为文本格式,接收方能够用相反的方式将其重新

 还原为原来的格式,还能够调用相应的程序来打开此文件

 Base64 一种文本编码格式

 

 

动态效果

java Applet, JRE  重量级



动态网页 服务器端存储的文档非HTML格式,而是编程语言开发的脚本,脚本接受

 参数之后在服务器运行一次,运行完成之后生成HTML格式的文档,把生

 成的文档发送给客户端

 

web index.php

web server --> protocol --> php解释器 (运行index.php) --> 生成html文档

index.html

可以引用N个对象,url

动态网页: 包含静态内容和动态内容

动态内容部分才运行

http 报文  请求报文 、 响应报文

请求报文

<method> <request-URL> <version>

<headers>

<entity-body>

响应报文

<version> <status> <reason-phrase>

<headers>

<entity-body>

状态代码: <status>

1xx 纯信息

2xx "成功"类信息 (200, 201, 202...)

3xx 重定向类信息 (301, 302, 304...)

4xx 客户端错误类信息 (404)

5xx 服务器端错误类信息



e.g.

请求报文

GET / HTTP/1.1

HOST: www.mysky.com

connection: keep-alive

响应报文

HTTP/1.1 200 OK

X-Powered-By: PHP/5.2.17

Very: Accept-Encoding,Cookie,User-Agent

Cache-Control: max-age=3, must-revalidate

Content-Encoding: gzip

Content-Length: 6931

web服务器的主要操作

1、建立连接——接受或拒绝客户端连接请求;

2、接收请求——通过网络读取HTTP请求报文;

3、处理请求——解析请求报文并做出相应的动作;

4、访问资源——访问请求报文中相关的资源;

5、构建响应——使用正确的首部生成HTTP响应报文;

6、发送响应——向客户端发送生成的响应报文;

7、记录日志——将已经完成的HTTP事务记录进日志文件;


http, tcp 三次握手,四次断开

http/1.1

增强了缓存的功能

长连接


Server 并发响应模型

单进程、单线程

多进程、多线程 (稳定、并发能力比前者增强但进程太多占据内存大)

单进程、多请求

多进程、多请求

httpd:MPM

prefork

work

event

web c/s

c: Client Agent (browser, spider)

S: Server 

Client-->request-->Server

URL

Http method: GET HEAD POST PUT DELETE TRACE OPTIONS CONNECTION

HTTP headers

name:value

HOST:www.mysky.com

connection:keep-alive

Server-->response-->Client



Client 

IE

Firefox

Chrome

Opera

Safari

Server

Apache --> httpd

IIS 应用程序服务器

nginx

lighttd

thttpd


应用程序服务器

IIS

tomcat (apache, JSP, opensource)

Websphere (IBM,JSP,商业)

Weblogic (Oracle,JSP,商业)

JBoss (RedHat)


www.netcraft.com 

互联网数据调研

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1883559如需转载请自行联系原作者


Winthcloud

相关文章
|
10月前
|
存储 监控 安全
Veeam Backup & Replication 13 之初见 - 基于 Linux 和 Web 控制台
Veeam Backup & Replication 13 之初见 - 基于 Linux 和 Web 控制台
658 1
Veeam Backup & Replication 13 之初见 - 基于 Linux 和 Web 控制台
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
415 3
|
10月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
285 18
|
11月前
|
中间件 Go
Golang | Gin:net/http与Gin启动web服务的简单比较
总的来说,`net/http`和 `Gin`都是优秀的库,它们各有优缺点。你应该根据你的需求和经验来选择最适合你的工具。希望这个比较可以帮助你做出决策。
548 35
|
缓存 移动开发 安全
Web安全-HTTP响应拆分(CRLF注入)漏洞
Web安全-HTTP响应拆分(CRLF注入)漏洞
1438 1
|
人工智能 Linux iOS开发
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
676 12
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
缓存 网络协议 前端开发
Web 性能优化|了解 HTTP 协议后才能理解的预加载
本文旨在探讨和分享多种预加载技术及其在提升网站性能、优化用户体验方面的应用。
Web 性能优化|了解 HTTP 协议后才能理解的预加载
|
域名解析 缓存 网络协议
Web基础与HTTP协议
通过掌握这些基础知识和技术,开发者可以更加高效地构建和优化Web应用,提供更好的用户体验和系统性能。
345 15
|
缓存 安全 网络安全
HTTP/2与HTTPS在Web加速中的应用
HTTP/2与HTTPS在Web加速中的应用
582 11