客户端和服务器通过因特网这个全球网络来通信。从程序员的观点来看,我们可以把因特网看成是一个全球范围的主机集合,具有以下几个属性:

1、每个因特网主机都有一个唯一的 32 为名字,称为它的 IP 地址

2、IP 地址的集合被映射为一个因特网域名的集合

3、不同因特网主机上的进程能够通过链接互相通信

客户端和服务器通过套接字接口建立连接。一个套接字是连接的一个端点,连接以文件描述符的形式提供给应用程序。套接字接口提供了打开和关闭套接字描述符的函数。客户端和服务器通过读写这些描述符来实现彼此间的通信

Web 服务器使用 HTTP 协议和它们的客户端(例如浏览器)彼此通信。浏览器向服务器请求静态或者动态的内容。对静态内容的请求是通过从服务器磁盘取得的文件并把它返回给客户端来服务的。对动态内容的请求是通过在服务器上一个子进程的上下文中运行一个程序并将它的输出返回给客户端来服务的。CGI 标准提供了一组规则,来管理客户端如何将程序参数传递给服务器,服务器如何将这些参数以及其他信息传递给子进程,以及子进程如何将它的输出发送回客户端。只用几百行 C 代码就能实现一个简单但是有功效的 Web 服务器,它既可以提供静态内容,也可以提供动态内容。

最新文章

  1. NOIP 考前 数论复习
  2. 申请Google API Key
  3. 微信企业号公测开启OA红海模式
  4. SpringMVC参数类型转化错误调试方法
  5. 【英语】Bingo口语笔记(6) - 表示“迷茫”
  6. css3 tranform  transition animation
  7. openstack第1天
  8. 跟着刚哥梳理java知识点——运算符(五)
  9. git入门(4)团队中git保管代码常用操作
  10. Jquery getJSON方法分析
  11. js获取浏览器和设备的 width和height,
  12. 解决mysql服务无法启动的问题
  13. Swiper.js使用教程
  14. python-GIL、死锁递归锁及线程补充
  15. Docker进入容器后使用ifconfig等命令“command not found”解决办法
  16. JavaScript中子类调用父类方法的实现
  17. Linux let 命令
  18. :工厂模式1:方法模式--Pizza
  19. Others-阿里专家强琦:流式计算的系统设计和实现
  20. Ubuntu12.04 root用户登录设置

热门文章

  1. gitolite 代码访问控制
  2. vs2017+opencv配置参考链接
  3. k8s-helm01-----helm基本使用
  4. Java并发包同步工具之Exchanger
  5. 使用redis防止重复提交
  6. nginx配置, 启动命令, 反向代理配置
  7. C#可以直接调用的Win32API
  8. java文件夹上传
  9. 利用Oracle定时任务重置序列
  10. 手写web框架之实现Bean容器