http协议复习笔记摘要
基于网络的应用永远离不开网络,尽管工作内容大部分在前端,也不可避免地需要了解网络。上周工作中,我不止一次地想要再复习复习http。周一时,我们讨论用wml还是xhtml mp制作wap网站页面。负责服务器段程序的小盆友有些担心他原l来针对wml做的一些东西要重来了。我突然有点蒙,但还是告诉他用xml还是xhtml mp并不太影响他的工作,只影响我的工作,服务器和客户端之间的沟通主要是遵守http协议,他那边需要改动的不大。接下来的工作涉及到需要判断客户端可接受的mime类型、客户端是否为移动设备的问题,这些需要通过读取http请求报头中的内容。周五碰到最大的问题,恐怕一部分还需要通过http内容来解决:我们的编码为utf-8的页面在ucweb下显示乱码,opera mini和nokia自带浏览器正常,目前不知如何解决。距离计算机网络的考试结束大概有四年的时间,当时这门课程并不太受重视,而现在看来真怀念书里的那些东西。周末特地花了一些时间把http部分重新复习了一遍。 1. HTTP是什么 http即超文本传输协议,是一个应用层的协议。它由两部分实现: 客户端程序 ————– 服务器程序 |——交换http报文——-| http规定了报文的格式和交换方式 1). web文档 web文档由对象组成。对象即文件,可以是html、图像、多媒体⋯⋯对象可以通过url寻址。 2). url 主机名/路径名 3). 浏览器 web应用的用户代理,实现了http协议的客户机端 4). web服务器 用于储存web对象,实现http的服务器端 2. http采用tcp传输 clint 《》 socket —tcp—-socket 《》 server (《》表示投递、获取数据) 3. http是无状态协议 因此需要保存状态时,需要通过cookie、session等才能实现 4. http三次握手 client:发起tcp连接 client:通过连接发送http请求 server:接受报文,取出文件,封装在http响应报文中并发送 server:通知tcp断开 client:收到响应报文,tcp关闭。提取对象,读取,得到另外n个对象的引用(例如其他的图像、css文件) client:对每个引用重复前4步 http并不关心client如何解释web页面,client往往会并行连接n个连接。 5. http报文格式 这部分其实是我现在最需要复习的,结果摘录得太多了⋯⋯干脆就不放上来了。下面是一些对于前端来说可能比较有用得一些参考说明: List of HTTP status codes List of … [Read more…]