+++++++++用户空间进程通信、tcp协议基础、http协议,HTTP请求流程

简介:

网络进程的通信知识

裸套接字、分段、分片、MTU

进程地址、用户空间、内核空间

进程间通信、socket

tcp协议

http协议

超文本定义、超文本格式

web资源:

动态

静态

访问入口、被访问的资源

跨站引用/盗链

URI,URL,RUN关系,子集

URL格式

主机地址+进程地址(port)


裸套接字:不调用传输层的tcp,udp协议封装报文

wKiom1nFsX3wURn5AAAWhWbPFq0101.png

特定功能:由用户空间的进程完成

通用功能:由内核完成,用户空间的进程需要使用通用的功能时,需要向内核空间发起syscall


进程间通信

wKiom1nEkgTjBAm3AAAX_uoRj4o417.png


socket:内核由syscall提供,用户空间中的进程需要与跨网络的主机通信时,需要基于socket编程方式


socket类型

wKiom1nEk-3xXLhQAAAoZfmI8Es988.png


socket domain

wKioL1nEk7ejvrR-AAAtPn8bBsM858.png


socket编程

wKiom1nElBuS1eYzAABGPtQRsoI520.png


tcp协议

基于socket通信、SOCKET_STREAM

wKioL1nEt5fzevL2AADMGNPi4B4338.png

MTU:最大传输单元

分段:当MTU大小大于1500bytes时,需要对ip报文分段

分片:路径MTU最小值小于1500时,需要分段

wKiom1nFsZWyLxfDAAEIxMbvehA073.png

HTTP协议

Hyper Text Transfer Protocol  传输超文本的协议 80/tcp SOCKET_STREAM

超文本:由html编程语言开发出的文本(网页中的链接点击后跳转至另一个网页,链接叫超文本链接)

超文本格式 

wKiom1nEuS7Tii_KAAA2TqP_0qY316.png


0.9 纯文本

1.0 支持MIME,扩展Method, 缓存机制薄弱

wKioL1nEuHezY3RsAABFaz2unFQ496.png


2.0 MIME,Method,缓存机制加强,spdy优势整合而来(spdy加速资源的获取)


工作模式

wKiom1nEuYCBD953AAAlcUj8SoQ102.png


请求的内容: Web内容

wKiom1nEueCB4nuCAABCqEa_Dcc852.png


一个页面中有多个资源:每个页面是一个资源,每个页面有多个超链接,每个链接对应一个资源

访问入口: 给定的地址

被访问的资源:页面中引用的地址

盗链/跨站引用:网站中的资源来自其他服务器上的资源

URL:标识每个资源或标识每个资源的位置

URI的子集:URL,URN

URL格式

wKiom1nEu22Sdw8MAAAvYMzWsRw367.png

进程地址:用TCP,UDP协议的端口标识,端口(16bits)

IANA Internet Assign Number Agent 互联网地址名称分配机构

wKioL1nEi-OhSXPdAAA9eJ52Fhs877.png




补充

wKioL1nEmv6xSAWDAABSp-1g3Tg608.png

setfacl -m u:USERNAME:MODE FILE ...

setfacl -m g:GROUPNAME:MODE FILE ...

setfacl -x  u:USERNAME:MODE FILE ...

setfacl -x  g:GROUPNAME:MODE FILE ...


httpd请求流程

1、接收客户端请求<是否接收>

2、接收请求(并发响应模型

wKiom1nF_CiwjzH6AABfdMTGHkY494.png

3、处理请求(解析请求报文

wKioL1nF_CSD4QNYAAAh4hHuGRI793.png

4、访问资源(method、路径映射)

wKioL1nF_HyxfZ2cAAAq01Reb9I005.png

wKiom1nF_LSwjw51AAAWIr4C-wk774.png

5、构建响应报文(打包封装为httpd响应报文

6、发送响应报文

7、记录一次事务的日志(用户行为分析










本文转自 lccnx 51CTO博客,原文链接:http://blog.51cto.com/sonlich/1967781,如需转载请自行联系原作者
目录
相关文章
|
11天前
|
Web App开发 缓存 JSON
在打开网站时,HTTP请求流程是如何处理的
【8月更文挑战第20天】流程包括:构建请求(如`GET /index.html HTTP/1.1`)、检查本地缓存、获取服务器IP及端口、等待TCP连接队列、建立TCP连接、发送HTTP请求。服务器处理后返回数据与响应头,可选择保持连接开启以便后续请求重用,最后断开TCP连接。
|
12天前
|
Linux
Linux源码阅读笔记13-进程通信组件中
Linux源码阅读笔记13-进程通信组件中
|
12天前
|
消息中间件 安全 Java
Linux源码阅读笔记13-进程通信组件上
Linux源码阅读笔记13-进程通信组件上
|
19天前
|
安全 算法 网络协议
【在Linux世界中追寻伟大的One Piece】HTTPS协议原理
【在Linux世界中追寻伟大的One Piece】HTTPS协议原理
31 2
|
2月前
|
缓存 网络协议 算法
(二)Java网络编程之爆肝HTTP、HTTPS、TLS协议及对称与非对称加密原理!
作为一名程序员,尤其是Java程序员,那必须得了解并掌握HTTP/HTTPS相关知识。因为在如今计算机网络通信中,HTTP协议的作用功不可没,无论是日常上网追剧、冲���、亦或是接口开发、调用等,必然存在HTTP的“影子”在内。尤其对于WEB开发者而言,HTTP几乎是每天会打交道的东西。
52 10
|
3天前
|
消息中间件 存储 安全
python多进程并发编程之互斥锁与进程间的通信
python多进程并发编程之互斥锁与进程间的通信
|
28天前
|
负载均衡 Java API
深度解析SpringCloud微服务跨域联动:RestTemplate如何驾驭HTTP请求,打造无缝远程通信桥梁
【8月更文挑战第3天】踏入Spring Cloud的微服务世界,服务间的通信至关重要。RestTemplate作为Spring框架的同步客户端工具,以其简便性成为HTTP通信的首选。本文将介绍如何在Spring Cloud环境中运用RestTemplate实现跨服务调用,从配置到实战代码,再到注意事项如错误处理、服务发现与负载均衡策略,帮助你构建高效稳定的微服务系统。
36 2
|
8天前
|
JavaScript 前端开发 Java
【Azure 环境】各种语言版本或命令,发送HTTP/HTTPS的请求合集
【Azure 环境】各种语言版本或命令,发送HTTP/HTTPS的请求合集
|
2月前
|
安全 Java 网络安全
RestTemplate进行https请求时适配信任证书
RestTemplate进行https请求时适配信任证书
29 3
|
2月前
|
存储 网络安全 数据安全/隐私保护
[flask]使用mTLS双向加密认证http通信
【7月更文挑战第16天】在Flask应用中实现mTLS双向TLS加密认证可增强HTTP通信安全性。步骤包括: 1. 使用OpenSSL为服务器和客户端生成证书和密钥。 2. 配置Flask服务器使用这些证书: - 安装`flask`和`pyopenssl`. - 设置SSL上下文并启用mTLS验证: 注意事项: - 保持证书有效期并及时更新. - 确保证书链信任. - 充分测试mTLS配置.

热门文章

最新文章

下一篇
云函数