1.1.1 从输入网址开始
- 网址准确来说应该叫URL,Uniform Resource Locator,统一资源定位符。
- http://www.glasscom.com:80/dir/file1.html,http:代表协议,//后面是服务器域名,www.glasscom.com是域名,80是端口号,/dir是目录,/file1.html是文件名。 除了http,根绝访问目标的不同还有不同的访问方法ftp://、file://、mailto:、news:等。
1.1.2 浏览器先要解析URL
按上面的协议、域名、端口、目录、文件名解析URL。
1.1.3 省略文件名的情况
省略文件名的话,访问服务器设置的默认文件名,如default.html或index.html等。
1.1.4 HTTP的基本思路
请求消息主要包括:URI、请求方法、头信息、请求数据;
响应消息主要包括:状态码、头信息、响应数据。
- URI,Uniform Resource Identifier,统一资源标识符。
- CGI程序:对Web服务器程序调用其他程序的规则所做的定义就是CGI,而按照CGI规范来工作的程序就称为CGI程序。
- HTTP主要方法:GET、POST、HEAD、OPTIONS、PUT、DELETE、TRACE、CONNECT。
1.1.5 生成HTTP请求消息
- 请求消息格式
<方法><空格><URI><空格><HTTP版本>//请求行
<字段名>:<字段值>//消息头
...
...
<空行>
<消息体> - 响应消息
<HTTP版本><空格><状态码><空格><响应短语>//状态行
<字段名>:<字段值>//消息头
...
...
<空行>
<消息体> - 消息体的格式通常通过消息头中的Content-Type字段定义。
- 消息头主要字段:Date、Cache-Control、Connection、Refer、If-Modified-Since、Accept-xxxx、User-Agent、Host、Location、Content-xxxx、Expires。
1.1.6 发送请求后会收到响应
- 状态码概要:
1xx 告知请求的处理进度和情况
2xx 成功
3xx 表示需要进一步操作
4xx 客户端错误
5xx 服务器错误 - 一条请求消息中只能写一个URI。如果需要获取多个文件,必须对每个文件单独发送1条请求。