Linux:Day20(下) http基础
Web Service
Port number:
0-1023:众所周知,永久的分配给固定的应用使用,22/tcp(ssh),80/tcp(http),443/tcp(https)
1024-41951:亦为注册端口,但要求并不是特别严格,分配给程序注册为某应用使用,11211/tcp,11211/udp(memcached),3306/tcp(mysql)
41952+:客户端程序随机使用的端口;动态端口,或私有端口;
Socket:IPC的一种实现,允许位于不同主机(甚至同一主机)上不同进程之间进行通信;数据交换;Socket API,1983年,4.2 BSD
SOCK_STREAM:tcp套接字
SOCK_DGRAM:udp套接字
SOCK_RAW:裸套接字
TCP协议的特性:
建立连接:三次握手
将数据打包成段:校验和(CRC-32)
确认、重传以及超时;
排序:逻辑序号
流量控制:滑动窗口算法
拥塞控制:慢启动和拥塞避免算法
Socket Domain(根据其所使用的地址):
AF_INET:Address Family,IPv4
AF_INET6:IPv6
AF_UNIX:同一主机上不同进程之间通信时使用;
每类套接字都至少提供了两种socket:流,数据报
流:可靠地传递、面向连接、无边界;
数据报:不可靠地传递、有边界、无连接;
套接字相关的系统调用:
socket():创建一个套接字;
bind():绑定
listen():监听
Linux:Day20(下) http基础的更多相关文章
- 【夯实Mysql基础】MySQL在Linux系统下配置文件及日志详解
本文地址 分享提纲: 1. 概述 2. 详解配置文件 3. 详解日志 1.概述 MySQL配置文件在Windows下叫my.ini,在MySQL的安装根目录下:在Linux下叫my.cnf,该文件位于 ...
- 基础--Redis在Linux环境下的安装
1. 安装redis服务 1.1 检查安装依赖程序 yum install gcc-c++yum install -y tclyum install wget 1.1.1 下载redis安装包 (或者 ...
- python基础——Linux系统下的文件目录结构
单用户操作系统和多用户操作系统 单用户操作系统:指一台计算机在同一时间只能由一个用户使用,一个用户独自享用系统的全部硬件和软件资源. 多用户操作系统:指一台计算机在同一时间可以由多个用户使用,多个用户 ...
- Linux环境下部署完JDK后运行一个简单的Java程序
前言 前一篇文章详细讲解了如何在Windows环境下安装虚拟机+Linux系统,并且成功部署了JDK. 不过部署完JDK之后,我们判断部署是否成功的依据是看"java -version&qu ...
- Vi (Unix及Linux系统下标准的编辑器)VIM (Unix及类Unix系统文本编辑器)
Vi是Unix及Linux系统下标准的编辑器.学会它后,您将在Linux的世界里畅行无阻.基本上vi可以分为三种状态,分别是命令模式.插入模式,和底行模式. vi编辑器是所有Unix及Linux系统下 ...
- linux环境下android-ndk下的ffmpeg编译
目前正在做手机底层播放器对的开发,需要用的ffmpeg,因为是新手,所以先从ffmpeg的编译开始做起.虽然是在前人的基础上,但是在linux上编译确实头一遭,因此在编译中,总有些坑是必须要填的,下面 ...
- Linux环境下段错误的产生原因及调试方法小结(转)
最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且 项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是著名的“段错误”(Segmentation F ...
- Linux环境下段错误的产生原因及调试方法小结
转载自http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html 最近在Linux环境下做C语言项目,由于是在一个原有项目基础之 ...
- linux平台下防火墙iptables原理(转)
原文地址:http://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646466.html iptables简介 netfilter/iptables( ...
随机推荐
- Alibaba(阿里) RocketMQ入门实例
摘自:码友18年(www.mayou18.com) what is rocketMQ? RocketMQ作为一款分布式的消息中间件(阿里的说法是不遵循任何规范的,所以不能完全用JMS的那一套东西来看它 ...
- canvas实现3D魔方
摘要:使用canvas实现可交互的3D魔方 一.简单分析 魔方物理性质: 1.中心块(6个):中心块与中心轴连接在一起,但可以顺着轴的方向自由的转动. 2.棱块(12个):棱块的表面是两个正方形,结构 ...
- BigDecimal 专题
//****BigDecimal中传入的double类型的数据,要为String类型,不然得到在BigDecimal仍然是不准确的double数据**** // BigDecimal addend = ...
- nodejs版本更新问题:express不是内部或外部命令
版本更新后,我们使用熟悉的npm install -g express命令安装,但是,安装成功之后居然提示express不是内部或外部命令. nodejs小问题:[1]express不是内部或外部命令 ...
- conn.go 源码阅读
), Conn: conn, } return k, v } // 返回远程节点地址 func (self *Connect) Addr() string { ...
- BZOJ_1800_[Ahoi2009]fly 飞行棋_乱搞
BZOJ_1800_[Ahoi2009]fly 飞行棋_乱搞 Description 给出圆周上的若干个点,已知点与点之间的弧长,其值均为正整数,并依圆周顺序排列. 请找出这些点中有没有可以围成矩形的 ...
- 转载iOS开发中常见的警告及错误
iOS警告收录及科学快速的消除方法 前言:现在你维护的项目有多少警告?看着几百条警告觉得心里烦么?你真的觉得警告又不是错误可以完全不管么? 如果你也被这些问题困惑,可以和我一起进行下面的操作. ...
- eclipse部署项目到tomcat
以管理员身份运行Eclipse 1.移除 2.open 3.改成这样,然后ctrl+s保存 4.重新运行即可.
- sql中1=1的and和or问题
SELECT * FROM mentor_teacher WHERE 1 = 1 AND status = ? limit 0, 10 sql语句中如果有1=1的问题, 那么,如果是and并且的关 ...
- C# WinForm ShowInTaskbar Api Version
using System; using System.Runtime.InteropServices; namespace x { unsafe class NativeWindow { /* * W ...