http 请求 详解 1

来源:互联网 发布:百会软件 编辑:程序博客网 时间:2024/04/30 23:54

BS简化人们上网,让上网人数增加,刺激网络技术发展

 

BS的优点

1.      统一浏览器作为交互入口,降低学习成本

2.      统一使用http协议,简化了服务器端的开发

 

作为开发者应该了解请求到请求被响应的整个链路,才能从容应对各种问题

 

本章涵盖:浏览器行为,http解析,DNS解析ip地址,cdn如何工作和设计,浏览器如何渲染和返回结果。

 

1.1  BS网络架构概述

http请求采用短连接,相对于CS架构下常用的长连接,短连接可以允许服务器被更多的用户同时

 

BS服务器既要满足高访问量,也要满足快速响应

 

请求过程:点击页面连接

       到DNS找到域名对应的IP

       通过IP找到服务器,通过负载均衡找到具体处理该请求的服务器

       服务器到缓存,文件系统或者数据库获取到数据,以html的形式返回给浏览器

       浏览器接收到htlm后,发出获取CSS,JS,img的请求到CDN(contentdelivery network)

 

BS架构的精髓

URL: unique resource location

       基于http请求,包括流媒体请求

       数据展示需要在浏览器中进行

 

1.2如何发起一个请求

     本节中心:

       不通过浏览器,手动组装符合http协议的数据包

       通过浏览器以不同的方式发起http请求

 

     从dns获取ip,通过ip和80端口建立套接字连接连接到服务器端,

浏览器用url创建http请求头,通过socket 用outputStream.write将http请求头传到服务器端,服务器端用inputStream.read接收数据,然后再返回数据。

断开连接

 

发起一个http请求就是一个建立socket连接的过程

 

可以组装http头数据,在通过socket发送到服务器端。再从服务器端返回数据。Httpclient就是此原理。

 

Linux curl + url  可以返回html语言,也可以显示头文件和添加头文件

 

1.3 http解析

     本节介绍http协议的基本概念和使用场景

 

     httpheader 控制传输的数据;服务器的响应行为和浏览器渲染

 

http 分请求头和响应头还有状态码

 

httpheader请求头

字符集,编码,语言,发出请求的主机,操作系统、浏览器以及其他属性,当前连接是否保持

 

Httpheader响应头

服务器名,媒体类型,字符编码,语言,内容长度, 保持连接时间

 

http状态码

200成功 404资源不存在 500服务器发生不可预测错误

 

http请求头和响应头可以通过chromefirefox 和ie查看

0 0