http协议通信原理的问答
1、dns怎么解析?
答:假设一个网站www.tianyik.com的ip是192.168.31.36
浏览器(URL:www.tianyik.com)-->
客户机
hosts文件-->web浏览器(192.168.31.36)
dns解析器缓存-->web浏览器(192.168.31.36)
没有的话-->(进行递归查询)
电信DNS服务器
dns服务器缓存-->客户机
没有的话-->(进行迭代查询)
根服务器--(去找顶级域.com)-->电信dns服务器-->
顶级域-->(去找二级域tianyik.com)-->电信dns服务器-->
二级域-->(www.tianyik.com为192.168.31.36)-->电信dns服务器-->
电信dns服务器(缓存一下)-->客户机(缓存一下)-->浏览器
2、用户怎么访问网站?
答:
浏览器(URL:www.tianyik.com)-->
a、先解析域名(见1),返回客户机ip192.168.31.36
b、发送请求192.168.31.36web服务器
c、服务器返回www.tianyik.com内容。
3、什么样情况会用https? 网银,支付宝
4、写出以下端口对应的服务?
答:
21--ftp
22--ssh
25--smtp(发邮件)
3306--mysql
873--rsync
161--snmp(网管协议)
111--rpc(NFS rpcbind,portmap)门户网站必须要用到的
3389--windows远程桌面mstsc
80--http
443--https
110--pop3
53--dns
5、http服务的请求过程?
答:
客户端--(www.tianyik.com的请求报文)-->web服务器
请求报文:
请求起始行:GET/tools.html HTTP/1.1 ([取tools.html] http版本)
请求首部:
user-agent Mozilla/4.75 [en] (win7;u) 浏览器版本
host:www.tianyik.com 主题头
Accept: text/html,image/gif,image/jpeg 请求内容的类型
Accept-language:en 语言
客户端<--(HTML格式内容、对象、对象类型、对象长度(见6))--web服务器
6、解释请求baidu.com得到的响应报文?
答:
响应起始行:HTTP/1.1 200 OK http版本/状态码
响应首部:(curl -I baidu.com)
Date: Sun, 20 Mar 2016 12:42:22 GMT 访问时间
Server: Apache 服务端的web服务器版本(TENGING,nginx,Microsoft-IIS/7.5)
Last-Modified: Tue, 12 Jan 2010 13:48:00 GMT 最后一次修改时间
ETag: "51-47cf7e6ee8400" 被请求变量的实体值
Accept-Ranges: bytes 可以请求网页实体的一个或者多个子范围字段
Content-Length: 81 传输长度
Cache-Control: max-age=86400 缓存控制
Expires: Mon, 21 Mar 2016 12:42:22 GMT 有效期
Connection: Keep-Alive 持续保持
Content-Type: text/html 传输类型
响应主体:<HTML>。。。</HTML> (wget baidu.com)
7、动态web服务请求过程?
答:
a,浏览器请求-->httpd得到请求--
b, -->解析请求格式(html,css)
c, -->请求响应php解析
d, -->请求数据库数据db
e, -->返回结果httpd
f, -->返回数据给浏览器(可能压缩过)
8、http协议请求原理?
答;
a、http属于TCP/IP模型中的应用层协议
b、版本特性:
http1.0:每次请求都要要求建立一次单独的连接
http1.1: 一次连接中可以处理多个请求,并且多个请求可以重叠进行
c、http请求流程:(见7)
从客户端开始
一、获取web服务器ip(见1)
二、建立TCP连接
三、向web服务器发送请求信息
四、web服务器返回相应的应答信息
五、客户端接收应答信息并解释执行
d、http请求包含的信息:(见5)
一、一个请求行
二、若干消息头
三、实体内容
四、请求方式(GET或POST)
e、web服务器响应的信息:
一、状态行(见6)
二、若干消息头
三、实体内容
http协议通信原理的问答的更多相关文章
- [转]HTTP协议通信原理
本文转自<HTTP协议通信原理> 了解HTTP HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则.计算机专家设计出HTTP,使HTTP客 ...
- HTTP协议通信原理 与常见报错信息
HTTP协议通信原理 请求报文 请求行 GET index.html HTTP 1.1 请求方法:get 读取服务器数据内容 post 提交存储服务端数据(用户注册) 协议版本: ht ...
- TCP网络协议通信原理(客户端和服务器端)
下面直接用代码来说明TCP协议的基础知识: 服务器端代码块: from socket import * from time import ctime ''' 指定主机地址.工作端口号.接收缓存的长度 ...
- 基于web的IM软件通信原理分析
关于IM(InstantMessaging)即时通信类软件(如微信,QQ),大多数都是桌面应用程序或者native应用较为流行,而网上关于原生IM或桌面IM软件类的通信原理介绍也较多,此处不再赘述.而 ...
- udp-->socket通信原理
UDP数据通讯原理 UDP数据通讯分服务端(软件)和客户端端: 服务端(软件)(服务器)先运行,服务端,不需要事先知道客户端IP和port 客户端(软件)(客户端机器)后运行, ...
- Socket 通信原理(Android客户端和服务器以TCP&&UDP方式互通)
转载地址:http://blog.csdn.net/mad1989/article/details/9147661 ZERO.前言 有关通信原理内容是在网上或百科整理得到,代码部分为本人所写,如果不当 ...
- SSL 通信原理及Tomcat SSL 配置
SSL 通信原理及Tomcat SSL 双向配置 目录1 参考资料 .................................................................. ...
- Java 下 SSL 通信原理及实例
有关SSL的原理和介绍在网上已经有不少,对于Java下使用keytool生成证书,配置SSL通信的教程也非常多.但如果我们不能够亲自动手做一个SSL Sever和SSL Client,可能就永远也不能 ...
- AIDL通信原理
AIDL (Android Interface Definition Language),通过定义通信接口来实现进程间通信.这是Google提供的一种在安卓应用进程间通信的工具.所以要了解AIDL的通 ...
随机推荐
- java.lang.UnsupportedClassVersionError(java项目版本一致问题)
报此错误,一般都是由于在myeclipse中的java项目是用高版本(jdk1.6之后)的jdk进行编译后生成的class文件,却要运行在低版本的jdk虚拟机上,导致这个错误 解决办法: 在myecl ...
- windows笔记-一个简单的windows GUI应用程序
#include<windows.h> // 编写Windows程序必须包含的头文件 LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); ...
- show processlist 输出ID 和 information_schema.PROCESSLIST 的id,information_schema.innodb_trx的TRX_MYSQL_T
Session 1: mysql> start transaction; Query OK, 0 rows affected (0.00 sec) mysql> update Client ...
- java学习之创建线程方法二
我们上一节当中讲到了创建线程的第一种方法,就是继承Thread类,覆写Thread当中的run方法,然后创建子类对象,之后调用对象的start方法启动线程.但是这种方法有一个缺陷,因为我们知道在jav ...
- oracle查询转换_inlist转换
oracle的optimizer会对一些sql语句进行查询转换,比如: 合并视图 子查询非嵌套化 inlist转换 下面讲讲遇到的in list转化优化的案例: create table test( ...
- WordPress Cart66 Lite插件HTML注入漏洞
漏洞名称: WordPress Cart66 Lite插件HTML注入漏洞 CNNVD编号: CNNVD-201310-525 发布时间: 2013-10-23 更新时间: 2013-10-23 危害 ...
- java Enumeration用法
Enumeration是java.util中的一个接口类,在Enumeration中封装了有关枚举数据集合的方法. 在Enumeration中提供了方法hawMoreElement()来判断集合中是束 ...
- strncpy 用法
strncpy 用法 原型:extern char *strncpy(char *dest, char *src, int n); 用法:#include <string.h> 功能: ...
- NHibernate加载DLL错误
这几天在开发关于Rest的服务,其中用到了NHibernate来进行数据库交互,突然有一天发现了一个错误,如下: Could not load file or assembly 'NHibernate ...
- Bzoj 3343: 教主的魔法 分块,二分
3343: 教主的魔法 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 821 Solved: 364[Submit][Status][Discuss ...