/assets/images/avatar.jpeg

Harry's Space

HTTPS原理详解

Web应用存在HTTP和HTTPS两种通信方式,HTTP默认端口80,数据以明文传输,HTTPS默认端口443,数据加密传输。

HTTPS协议

HTTPS实际上并不是一种新的网络协议,是HTTP的基础上加了SSL层,数据的加密就是在SSL层完成的。 https://upload-images.jianshu.io/upload_images/14151453-4915c1ecfe442f0d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

Session和Cookie

我们知道HTTP协议是无状态的,那么在Web开发中如何做好用户的整个浏览过程的控制,最经典的解决方案就是使用Cookie和Session。 Cookie是客户端的机制,把用户数据缓存在客户端,而Session是服务端的机制,每个用户都会被分配一个唯一的SessionID,可以通过url传输或保存在客户端的Cookie中,也可以将Session保存在数据库中,比如Redis中。

什么是WebSocket?

基本概念

WebSocket是一种网络通信协议,是HTML5新增的特性,实现了基于浏览器的远程socket,使浏览器和服务器可以进行全双工通信,大部分浏览器都对此做了支持。 WebSocket的URL格式形如:ws://localhost:80/、wss://localhost:443/

计算机网络基础概述

网络

网络层

传输层

  • TCP、UDP

    • 特点

      • UDP:无连接,尽最大可能交付数据,面向报文,支持一对一、一对多、多对一、多对多的交互通信,不可靠(快、实时性好)

        • DNS、TFTP
      • TCP:面向连接,可靠交付,有流量控制、拥塞控制,全双工通信,面向字节流,只能点对点(一对一)

Linux 系统 I/O 模型及 select/poll/epoll 详解

基本概念说明

理解Linux的IO模型之前,首先要了解一些基本概念,才能理解这些IO模型设计的依据

用户空间和内核空间

操作系统使用虚拟内存来映射物理内存,对于32位的操作系统来说,虚拟地址空间为4G(2^32)。操作系统的核心是内核,为了保护用户进程不能直接操作内核,保证内核安全,操作系统将虚拟地址空间划分为内核空间和用户空间。内核可以访问全部的地址空间,拥有访问底层硬件设备的权限,普通的应用程序需要访问硬件设备必须通过系统调用来实现。